【文末福利】Java面试通关要点(五)工程篇
首先,声明下,以下知识点并非阿里的面试题。这里,笔者结合自己过往的面试经验,整理了一些核心的知识清单,帮助读者更好地回顾与复习 Java 服务端核心技术。
需求分析
你如何对需求原型进行理解和拆分
说说你对功能性需求的理解
说说你对非功能性需求的理解
你针对产品提出哪些交互和改进意见
你如何理解用户痛点
设计能力
说说你在项目中使用过的 UML 图
你如何考虑组件化
你如何考虑服务化
你如何进行领域建模
你如何划分领域边界
说说你项目中的领域建模
说说概要设计
设计模式
你项目中有使用哪些设计模式
说说常用开源框架中设计模式使用分析
说说你对设计原则的理解
23种设计模式的设计理念
设计模式之间的异同,例如策略模式与状态模式的区别
设计模式之间的结合,例如策略模式+简单工厂模式的实践
设计模式的性能,例如单例模式哪种性能更好。
业务工程
你系统中的前后端分离是如何做的
说说你的开发流程
你和团队是如何沟通的
你如何进行代码评审
说说你对技术与业务的理解
说说你在项目中经常遇到的 Exception
说说你在项目中遇到感觉最难Bug,怎么解决的
说说你在项目中遇到印象最深困难,怎么解决的
你觉得你们项目还有哪些不足的地方
你是否遇到过 CPU 100% ,如何排查与解决
你是否遇到过 内存 OOM ,如何排查与解决
说说你对敏捷开发的实践
说说你对开发运维的实践
介绍下工作中的一个对自己最有价值的项目,以及在这个过程中的角色
软实力
说说你的亮点
说说你最近在看什么书
说说你觉得最有意义的技术书籍
工作之余做什么事情
说说个人发展方向方面的思考
说说你认为的服务端开发工程师应该具备哪些能力
说说你认为的架构师是什么样的,架构师主要做什么
说说你所理解的技术专家
备注:工程知识面很广,随便深挖都有很多可以探讨的点。这里,笔者只是抛砖引玉,读者不仅需要了解问题本质,还需要理解问题的考察点。
团队招聘
我们团队招聘「Java技术专家」,有意向的小伙伴可以加我微信「LiangGzone」,或者发送简历到「guizhao.lgz@alibaba-inc.com」,希望有机会与你一起共事。
职位详情
阿里集团客户体验事业群,旨在建立更高的客户服务标准。让客户在阿里享受到最爽的服务,让“客户第一”成为阿里的百年口碑。
岗位角色
负责 Alibaba 客户服务相关的产品研发
深入发掘和分析业务需求,撰写技术方案和系统设计
核心代码编写、指导和培训工程师、不断进行系统优化
参与或领导跨团队的研发项目
岗位要求
JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解;
5年及以上使用JAVA开发的经验,对于你用过的开源框架,能了解到它的原理和机制;对Spring,ibatis,struts等开源框架熟悉;
熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;
掌握多线程及高性能的设计与编码及性能调优;有高并发应用开发经验;
掌握Linux 操作系统和大型数据库(Oracle、MySql);对sql优化有丰富的经验;
学习能力强,适应能力好;具备耐心/细心的品质;
喜欢去看及尝试最新的技术,追求编写优雅的代码,从技术趋势和思路上能影响技术团队