经历了漫长一个月的等待,终于在昨天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑、痛苦自不必说,知道被录取的那一刻,一整年的阴霾都一扫而空了。
意外的一面和二面
笔者面的是阿里的java研发工程师岗,面试流程是3技术面+1hr面。一面的时候大概是3月12号,面完等了差不多半个月才突然接到二面面试官的电话。
一面可能是简历面,所以问题比较简单
- Hashmap和arraylist,linkedlist区别
- 什么情况会造成内存泄漏
- 线程死锁
- 红黑树怎么实现,时间复杂度
- 订会议厅的数据库怎么设置
- TCP三次握手
二面
- 介绍项目,storm怎么保证一致性
- 说一下hashmap以及它是否线程安全
- 十亿条淘宝购买记录,怎么获取出现最多的前十个
- 100个有序的整型,如何打乱顺序(面试官说我的做法不够优雅)
- 如何设计一个可靠的UDP协议
- 平时有没有用linux系统,怎么查看某个进程
- 说一下Innodb和MySIAM的区别
- 说一下jvm内存模型,介绍一下你了解的垃圾收集器
- 你说你是大数据方向的,那了解哪些大数据框架(我说了zookeeper、storm、HDFS、Hbase等)
二面大概就是这些,其中storm一致性这个问题被面试官怀疑了一下,就有点紧张,其实没答错,所以还是要对知识掌握得更明确才行
准备充足的三面
清明节的时候例外地没有回家扫墓,因为知道自己的弱项是操作系统和海量数据题这块,所以想着恶补这方面的知识,不过之后的面试意外的并没有问到这方面的内容。
三面
- 介绍项目,不过项目介绍完之后没问太多
- 介绍一下hashmap(hashmap真的是面试高频题)
- 介绍一下并发(这里可以把整个并发的体系都说下,包括volicata、sync、lock、乐观悲观锁、锁膨胀、锁降级、线程池等)
- 银行账户读写怎么做(我说了读写锁以及可能出现死锁问题)
- 说一下关系型数据库和非关系型数据库的区别
- 访问淘宝网页的一个具体流程,从获取ip地址,到怎么返回相关内容(这里把整个过程说清楚,包括状态码、访问缓存这些)
- 如何访问链表中间节点
- 说下进程间通信,以及各自的区别
焦虑的hr面
之所以说hr面焦虑,是因为面试前我还在看IG的半决赛(实在复习不下),接到电话的时候分外紧张,在一些点上答得很差。
hr面
- 遇到什么挫折
- 记忆深刻的事情
- 职业规划
- 对阿里的认识
- 有什么崇拜的人吗(我说了詹姆斯哈登,hr小姐姐居然笑了)
- 希望去哪里就业
- 有什么兴趣爱好,能拿得上台表演的有吗
总结
提前批更多的是考察基础知识,大公司都有自己在用的框架,你进去后基本上得重新学这些框架,所以对他们来说,基础是否扎实才是考察的关键。
基础包括:操作系统、linxu、数据库、数据结构、算法、java(基础、容器、高并发、jvm)、计算机网络等要投资知识,从寒假到现在,先后买了9个极客时间的课程、订阅了H神的知识星球、当当买了四五本相关技术书籍...
虽然购买的课很多还来不及读(惭愧)
当时我问一个java群的师兄,学不下了怎么办,他说,换种姿势继续学,还别说,有时候失眠的时候,我都在看极客时间或知识星球催眠自己...
要对知识做好总结,虽然以前也有记录简书的习惯,但是大多数时候都是写了不发表,自己做一个记忆的作用,3月份我给自己的要求就是,对每个知识点要做到能够有自己的理解,然后写一篇质量较好的博客总结。
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
最后
总之,可以拿到蚂蚁金服的offer真的很意外,也很幸运,蚂蚁金服从来是我觉得很难达到的目标,但它确实发生了,也许这就是幸福来敲门吧,我可以给到自己或其他人的建议就是,一定要把握好时机。。
Don't ever let somebody tell you you can't do something, not even me.
You got a dream, you gotta protect it.
People can't do something by themselves,they wanna tell you you can not do it.
If You want something. Go get it!