7年经验PHP开发转行成功拿到Java开发Offer的亲身面试经历与心得分享
第一家公司面试经历
这家公司主要专注于供应链采购,面试时提出了以下问题:
- 请做自我介绍。
- 有一个多文件上传的需求,要求在5M带宽的服务器上上传超过100张图片,并确保用户能迅速看到上传结果,你如何实现?
- 在Spring Cloud中,A服务调用B服务时,需要将token传递给B服务,应该使用何种方式?
- 请讲解一下你当前系统的业务逻辑及所用技术。
- MyBatis的分页是如何实现的?
- 你有使用过事务吗?
- 你用过什么工具类?在处理时间和JSON时,使用了哪些工具?
- 针对MongoDB的百万级数据,你会如何优化查询、分页和创建索引?如果进行动态查询,你如何进行数据统计?
总结: 这家公司较小,主要需要快速上手的技术人员。我面试时表现良好,本以为会很快收到通知,结果过了两天才收到回复,且还降低了薪资,所以我选择放弃。该公司更看重业务能力,项目经验是面试的重点,底层原理的问题较少,接下来的一家公司则更为重要。
第二家公司面试经验
这家公司是一个大型集团,面试流程包括笔试和面试,面试时的问题包括:
- 请进行10分钟的简短介绍,内容包括你的工作经验、优势和擅长领域。
- MyBatis中的#{}和${}有什么区别?默认使用哪个,为什么?
- 请介绍一下Spring及其常用注解的用途。
- Spring AOP的概念及实际应用场景。
- 将一个对象User传递到其他方法中,若User的name改变,那么传递的这个对象是值传递还是引用传递?请解释值传递和引用传递的区别。
- 项目中如何使用事务?
- 你是否使用过多线程?如何确保多线程的线程安全?你采取了哪些具体措施?
- 你曾从事PHP开发,请谈谈PHP和Java的区别。
总结: 这家公司对技术要求较高,许多问题不仅要求回答,还需了解底层原理。由于我当时回答的是业务型开发,面试因此被中断,因为他们更希望找到架构型开发人员。
第三家公司面试体验
这是一家较小的公司,最终收获了Offer,面试中的问题包括:
- 请做自我介绍(这是必须的)。
- 请详细讲解你之前项目的业务流程。
- 该项目中你使用了多线程吗?如何实现的?
- 你提到在多线程方面进行了性能优化,可以分享优化的方法和结果吗?
- 你使用过事务吗?事务与锁一起使用时,会出现什么问题?是先使用锁还是先使用事务?
- Spring Cloud的注册服务使用了什么?你还有其他了解吗?
- 你有使用消息队列吗?请大致讲述。
总结: 此公司主要关注项目能力,具体是如何解决实际问题。之前的两家公司也问过这些问题,但当时回答得不够好,因此在这家公司的面试中,我提前准备了相关内容,顺利通过了。
总结
最后,再次强调在进行自我介绍时,首先需介绍开发经验,然后是上一家公司,最后是自己擅长的项目。在面试中,大部分问题与项目相关,因此我们需要提前准备好项目的业务逻辑,即使只涉及一小部分功能,也要对整个项目的业务流程有所了解。此外,技术方向主要包涵底层逻辑的实现和技术在项目中的实际应用。这些问题可能不会在面试中实际遇到,但我们需要提前设想如何处理。总结而言,面试考察的是应聘者的问题处理能力和学习能力。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果