2022-03-18 23:41:06
数字马力社招(长沙-后端开发)面经总结
一面:
自我介绍:
简要介绍个人背景、教育经历、工作经历以及为何选择数字马力。
Spring AOP底层实现以及差异:
答案:Spring AOP(面向切面编程)通过动态代理(JDK动态代理或CGLIB)实现。JDK动态代理针对接口,CGLIB针对类。差异在于JDK动态代理只能代理实现了接口的类,而CGLIB可以代理没有实现接口的类。
MySQL事务隔离级别:
答案:MySQL支持四种事务隔离级别:未提交读(READ UNCOMMITTED)、提交读(READ COMMITTED)、可重复读(REPEATABLE READ)和可串行化(SERIALIZABLE)。隔离级别越高,数据一致性越好,但并发性能越低。
Spring事务传播以及默认传伏陆播级别:
答案:Spring事务传播行为定义了事务方法如何被另一个事务方法调用。常见的传播行为包括REQUIRED(默认,如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务)、REQUIRES_NEW(创建一个新的事务,并暂停当前事务(如果存在))、SUPPORTS(如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务方式执行)等。默认传播级别是REQUIRED。
幂等实现:
答案:幂等性指一次和多次请求对资源的状态改变是一致的。实现幂等性可以通过唯一请求ID、去重表、乐观锁、悲观锁、分布式锁等方式。
设计一个系统/模块需要考虑的问搭拆题:
答案:包括需求分析、架构设计、性能优化、安全性、可扩展性、可维护性、容错与灾备、数据一致性、监控与日志等方面。
项目中的难点以及解决:
答案:结合具体项目,描述遇到的技术难题,如性能瓶颈、数据一致性问题、复杂业务逻辑实现等,并阐述解决方案。
和其他候选人相比有什么优势:
答案:可以从技术栈熟悉程度、问题解决能力、团队协作能力、学习能力、项目经验等方面阐述自己的优势。
离职原因:
答案:客观、真实地表达离职原因,如寻求更好的职业发展机会、公司发展方向与个人职业规划不符、薪资待遇等。
分布式和微服务差异:
答案:分布式系统强调将应用拆分成多个服务部署在不同节点上,以提高系统的可用性和扩展性;而微服务是一种更细粒度的分布式架构,每个服务都围绕业务能力组织,独立部署、独立运行、独立扩展,且服务间通过轻量级通信机制(如HTTP/RESTful)进行通信。
二面:
自我介绍:
同上。
离职后最近在干啥:
答案:描述离职后的个人状态,如学习新技能、参与开源项目、做个人项目等。
全程问项目:
答案:详细阐述项目背景、目标、技术选型、实现过程、遇到的挑战及解决方案等。
hr面(口头offer,一周后被告知没有HC):
自我介绍:
同上。
分别说下从两家公司离职的原因:
答案:同上,但需注意表达方式的客观性和真实性。
gap期间干了啥:
答案:同上。
详细讲讲之前项目的工作内容,这些项目提升了什么能力:
答案:同上,但需强调项目对个人能力的提升,如技术深度、广度、团队协作、项目管理等。
找下一份工作主要看重什么:
答案:可以从公司文化、团队氛围、技术栈、职业发展机会、薪资待遇等方面阐述。
期望薪资:
答案:根据个人经验和市场情况,合理表达期望薪资。
换部门加签面:
主要围绕为啥离职、为啥想回长沙、gap期间干了啥:
答案:真实表达离职原因、回长沙的动机(如家庭原因、个人发展等)以及gap期间的活动。
无八股、无手撕、无项目、纯聊天:
答案:此环节主要考察个人沟通能力、职业规划、对公司及岗位的理解等,需保持积极、自信的态度,与面试官进行愉快的交流。
总结:
数字马力社招(长沙-后端开发知厅枣)面试过程涵盖了技术深度、广度、项目经验、个人职业规划等多个方面。在准备面试时,需重点关注Spring框架、MySQL事务、分布式与微服务架构等后端开发核心知识点,并结合个人项目经验进行准备。同时,也需关注个人职业规划、离职原因等HR面试常见问题,以展现自己的专业素养和职业规划能力。