前言
由于个人发展的原因和工作上的变动,产生了想出来看看机会的想法。经过了一段时间的准备,7月下旬开始出来面试,面到了 8月上旬,如愿拿到了自己心仪公司的 offer。按照自己的习惯,将这次面试过程中的一些经验总结、心得体会记录下来,自己留个记录,也希望可以帮助到一些同学。整理了一下自己遇到的面试题
见文末
另外,在两年前第一次跳槽的时候也将当时的心得体会记录了下来,如果大家想看的话我也可以抽时间写一写,
个人情况
坐标魔都,15 年本科毕业于普通一本,毕业后就职于一家传统电信公司,17 年后就职于美团点评。
面试情况
相比于 17 年,由于有了美团的背景,今年在简历这关顺利了很多,不得不感叹大厂背景真香 。
本着尽量少请假的原因,所以面试的公司比较少,只面了 3 家:阿里、网易、拼多多。
3 家公司都走完了面试流程,最后拿到了阿里和拼多多的 offer,自己还是比较满意的。
至于网易挂掉的原因,具体原因不是很清楚,面试发挥的还行,BOSS 面的时候可以看出对我还是比较满意,但最终没有收到 offer。
如果对于这三家公司的面试流程有问题的,可以在留言,能解答的我会第一时间解答。
4 年经验应该具备哪些技能
首先,简单的聊一下我认为的 4 年经验左右、优秀的 Java 程序员应该具备的技能有哪些,按“专业技能”和“项目”两块,包括但不限于以下内容。
专业节能方面
项目方面
严格来说,要完全做到上面这些有点难,我自己也并不具备,但是,我们可以将其视为目标,不断去努力。
面试常见形式
大厂面试通常是“连环炮”的形式,举个栗子:
面试官:用过哪些 Map
我:LinkedHashMap、ConcurrentHashMap、HashMap、TreeMap
面试官:这四种 Map 的区别
我:ConcurrentHashMap 线程安全,LinkedHashMap 可以记录插入顺序和访问顺序,TreeMap 可以自定义排序,除了这几个场景,其他场景基本都可以使用 HashMap
面试官:ConcurrentHashMap 怎么保证线程安全
我:JDK 1.8 以前通过分段锁,JDK 1.8 以后通过 CAS + Synchronized
面试官:ConcurrentHashMap 在 JDK 1.8 前后的锁有什么区别
我:JDK 1.8 以前锁分段,JDK 1.8 以后锁单个节点,锁粒度降低,并发度变高
面试官:#%¥%……#%¥
我:喵喵喵~
这种模式的问法,其实就是想了解候选人对一个知识点的理解是仅仅停留在表面,还是真的去深入研究过。
面试内容
下面介绍下一些常见的面试内容,其中的面试题不一定是我真实遇到的,有可能是从别人的面试题中收集的,也有可能是我自己觉得重要的知识点,仅供参考。
1、项目
项目对于一个 3 - 5 年经验的开发来说是非常重要的,面试官也非常看重这一块。这个经验的开发基本是各大公司的编码主力,因此面试这个年限的候选人,通常项目是很重要的一块。面试官通常会让你先自己介绍下自己参与度最高(或者最牛逼)的项目,然后从中进行提问。常见的如以下:
2、场景题
越到后面的面试官,越喜欢问场景题,场景题比较考验候选人平时的积累和解决问题能力。这个环节很容易挂掉一批人,特别是容易紧张的同学,很容易脑子会一片空白。场景题的核心一般是处理大数据量的问题、解决性能方面的问题。
场景题本质上是比较开放的,没有什么标准答案,只要自己的方案能够解决问题,能够“自圆其说”就行。
这个环节面试官可能会将线上真实的场景拿出来提问,我自己就遇到过。
3、专业技能
集合
多线程、锁
网络
Spring、Mybatis
MySQL
JVM
Kafka
Redis
Zookeeper
分布式
4、Hr 面
如果你一路过五关斩六将,最终来到了 Hr 面,那么恭喜你,你已经离 offer 非常非常近了。可以开始畅想自己升职加薪,当上总经理,出任 CEO,迎娶白富美,走上人生巅峰的场景了。
Hr 面主要是了解候选人的一些通用素质,经常会问的问题如下:
关于这些问题,没有什么标准答案,但是很重要的原则是,在整个过程中要保持积极向上的态度,不能有负面的情绪。
关于当前薪资的问题,由于诸多的原因,可能有些人会想着稍微多报一点,对于这种做法我持中立态度,但是要把握好度,毕竟大厂基本都有背景调查。大厂对于诚信问题一般是零容忍,而且可能会拉黑名单,进黑名单意味着你再也无缘这家公司了。
一些经验心得