从湖南二本到成功秋招:23届Java毕业生的求职经历与心得分享

个人情况

我是一名来自湖南的二本院校的计算机专业毕业生,2023年应届生。自大三开始系统学习Java编程知识。去年在寻找实习的过程中,我经历了无人回复的求职苦境,以及秋招期间的激烈竞争。在求职中,我观察到许多高学历的同学轻松获得面试机会,而像我这样二本背景的学生则面临更多挑战。在春招期间,我还看到同班10位学习Java的同学中,只有我依然在坚持这个方向。

学习情况

自我学习能力在求职过程中至关重要。由于我没有参加过培训班,最初找工作时面临不少困难,尤其是简历屡屡遭到忽视。为了改善这种状况,我开始多做项目,花费更多时间提升自己的技能与经历,逐渐找回了信心。我相信,认真对待每一件事是大学生活中最重要的事情之一。虽然大家都知道期末考试的水分,但在考试前几个月认真复习专业课程,最终获得高分是极有意义的。我在校期间多次获得班级和年级的第一,并获得2023届优秀毕业生和优秀论文、设计的荣誉。

在大三那年,我在LeetCode上刷题超过400道。我认为,企业在考量应届生时会关注他们的校园经历。尽管我的字写得不太好,但我始终坚持用笔记录,从学习Java开始到面试过程中,我用三本笔记本记录了相关知识点。

面试情况

在求职过程中,我面试了网易,虽然未能通过排序环节。之后又面试了兴盛优选、申通快递、4399游戏、众安科技和多益网络等多家公司。在整个秋招中,我收到了不少offer,但这让我感受到学历的限制,许多大公司即使通过了笔试,仍然很少邀请我面试,而获得的offer大部分来自中小型企业。最终,我选择了一家还不错的独角兽公司签订了三方协议。后续因实习和毕业设计的忙碌,我未参加春招,听说同班学习Java的同学们均已转向其他领域。

由于参加的面试数量较多,这里我挑选了一个公司的面试经验进行分享(兴盛优选)。

一面

面试官非常和蔼,面试时间超过一个小时,提出的问题如下:

  1. 自我介绍;
  2. 平时如何学习Java技术?
  3. 团队项目中如何与团队合作?
  4. 简历中项目的核心功能是什么?
  5. 请介绍SpringCloud在项目中的应用。
  6. 前端请求在项目中的处理链路是什么?
  7. GateWay与Nginx的相似与不同之处?
  8. GateWay处理后的请求在微服务中的进一步处理是什么?
  9. GateWay是否需要注册到Nacos?如何进行注册?
  10. JVM、JDK、JRE三者之间的关系?
  11. 方法重载与方法重写的区别?
  12. 接口与抽象类的区别?
  13. 堆、栈、队列、集合之间的区别是什么?
  14. 对上述知识的源码实现了解吗?
  15. 请讲解HashMap的源码。
  16. 线程与进程的区别和联系。
  17. 是否使用过多线程?项目中为何需要多线程?
  18. 如何解决多线程的安全性问题?
  19. synchronized的实现原理是什么?
  20. 比较悲观锁与乐观锁。
  21. 讲解JVM内存模型。
  22. JVM每个区块的功能。
  23. 讲解JVM的垃圾回收机制。
  24. JVM垃圾回收器有哪些?
  25. 讲解Serial和CMS、G1回收器。
  26. 请解释Spring的IOC与AOP。
  27. SpringBoot的优点是什么?
  28. 是否进行过MySQL调优?
  29. 数据库的分库分表如何实现?
  30. 索引在数据库中的作用是什么?
  31. 索引的数据结构是什么?B+树是什么?
  32. MySQL如何保证事务的一致性?
  33. Redis与MySQL的区别是什么?
  34. Redis的持久化机制是如何实现的?
  35. Redis如何保证缓存的一致性?
  36. RabbitMq与延迟双删适用的场景是什么?
  37. 对网络方面的了解如何?请讲解TCP/IP协议的网络分层。
  38. 在项目中遇到的问题如何解决?
  39. 有没有考研的打算?为何没有考研的打算?
  40. 反问环节。

二面

  1. 自我介绍;
  2. GC底层算法、JVM内存模型、常见垃圾回收器、双亲委派的类加载流程;
  3. 分别介绍GC底层算法的优缺点及应用场景;
  4. 什么是复制算法?原理是什么?应用于哪个区域?为何多用于该区域?
  5. 标记整理法的缺点是什么?
  6. 讲解JVM的内存模型;
  7. 元空间的作用是什么?
  8. 新生区与老年区的分布及其区别和使用算法;
  9. 新生区、老年区与永久代的定义;
  10. 介绍双亲委派机制;
  11. 双亲委派机制如何避免类的重复加载?
  12. 如何自定义与Java核心方法同名同参数的函数?
  13. 双亲委派机制的双亲是谁?
  14. 自定义类加载的过程是什么?
  15. 讲解Redis的持久化机制;
  16. Redis持久化机制的应用场景有哪些?
  17. RDB方式是否会造成数据缺失?
  18. 什么是缓存雪崩、缓存穿透、缓存击穿?
  19. 缓存一致性策略有哪些?
  20. 在缓存一致性过程中,如果MQ宕机该如何处理?
  21. 请介绍你做的项目;
  22. 你认为项目中的难点是什么?
  23. 你对未来的规划?
  24. 反问环节。

HR面略。