今天 5 点半接到一个杭州的电话, 是蚂蚁金服打来的, 当时心里一阵发慌, 由于还在上班, 就和面试官约定 6 点下班之后再来. 挂完电话, 心里忐忑的不行, 感觉自己这也没准备好, 那也没准备好. 剩下半个小时完全没有心思再工作了, 把常问的 HashMap,concurrentHashMap 底层看了一下, 算是临时抱佛脚吧. 一下班, 就收拾出发在公司楼下找了个地方等面试电话.
没一会儿, 电话如期而至. 先是聊了下大概情况, 然后聊了下工作经历. 叫我挑选一个自己觉得掌握的最好的项目开始发问.
最开始问了你觉得项目中最难的地方, 自己因为毕业了一直在小公司, 也没有感觉遇到特别困难的地方, 憋了半天憋不出来. 面试官也放弃了, 直接问, 项目中用到 Map 集合吧, 用到过哪些 Map. 自己就说了个最熟悉的 HashMap. 但是面试官好像不太想问这个, 又问有没有用到过排好序的 Map, 当时自己脑子短路了, 没想到 TreeMap 是排序的, 当时竟然一时想不出有排好序的 Map, 就说了没有排好序的 Map, 但是可以实现 Compareble 接口来实现排序. 肯定面试官也很无语, 这送分题都不会啊! 然后又问 HashMap put 方法的时间复杂度, 我说因为 HashMap 底层是数组加链表实现的, 如果没有 hash 碰撞时间复杂度就是 O(1), 有碰撞最坏情况就是 O(n). 然后看到我建立上有写线程池, 就问了下创建线程池的具体参数的含义, 这个没啥难的, 然后又问线程池的缓存队列, 然后又问是否自己去实现过缓存队列. 最后一问完全不知道咋回答, 因为平时都是直接使用现成的. 然后继续发问, 问了下 JDK bin 目录下的工具除了 java javac 还有没有用过其他的. 我心里想, 面试官啊, 你把我用过的工具都说完了. 然后就只有说没有使用过. 自然又是跳过. 然后又问项目除了开发, 有没有用到优化方面的. 我想肯定是想问 JVM 方面的了. 就说了下自己在测试环境服务老是启动没多久就挂了, 自己调整了下堆内存的大小. 其实当时只是试探性的加大了堆内存, 根本没有怎么去分析过. 然后面试官问, 你是根据什么觉得要去调整堆内存大小的, 自己当时就慌了, 因为没有实际做过, 所以就说自己在启动项目的时候加了输出 GC 日志的命令, 看到有很多 Full GC, 所以就调整了. 感觉面试官不是很满意. 然后又问我你知道 JVM 垃圾回收机制吗? 自己其实对 JVM 垃圾回收这一块还是挺熟悉的, 但是这么一问自己一时不知道怎么回答, 就把垃圾收集器说了一下, 但是感觉不是很对. 后来回来百度 JVM 垃圾回收机制, 感觉都有说到 JVM 内存结构, 对象可达性分析, 垃圾回收算法, 垃圾回收器都有讲到. 其实自己这块挺熟悉的, 但是一笼统的问 JVM 垃圾回收机制当时一直在想我该回答哪一块的内容. 最后面试官问了如果你要让现在做的项目更好, 你回添加一些什么功能. 但是自己想了半天也不知道如何回答. 面试官应该也很无语, 但是不得不说面试官全程都是态度非常好, 电话面试都能感受到面试官是一个又谦虚又有真才实学的人. 给了我很多建议, 说我们程序员一定要一直保持学习, 要多学习底层方面的东西. 其实自己也很想学习底层的东西, 但是底层的确实要难很多, 很多书看不动, 还是要继续努力才行啊. 面试官说, 如果有下一步会发邮件, 叫我注意关注下.
这次面试虽然表现很差, 但是还是让我获益很多. 我知道大的公司都喜欢面试底层, 所以自己也对底层有过一些关注, 在网上看到都会问 HashMap , concurrentHashMap 所以对这两个的底层是看了又看, 特别是 concurrentHashMap 的实现 1.8 之前怎么实现, 1.8 之后怎么实现都做了很深的了解, 然而今天并没有被问到. 连简单的 TreeMap 都忘了, 也是自己平时没怎么使用. 平时的业务确实也没有涉及到. 还有自己对自己做的项目完全没有一个总结, 面试官问的关于自己项目的问题自己都回答的简直像坨翔一样. 更深的感觉就是不管是什么东西, 一定要自己动手去敲, 去实现, 这样面试官问你你才能完完全全的回答出来, 而不是去背书, 背书的话随便拐弯问两下你就现原形了.
接下来, 总结项目, 根据项目用到的技术复习吧. 蚂蚁金服是真看中基础, 面试了半个多小时, 完全没有问一道框架方面的问题, 我还以为会问 Spring,Springboot 相关的, 然而一道题都没有, 也不知道是不是因为自己前面基础知识回答得确实太差了, 已经不想再问框架的了. 面试了这一次也好, 也知道该怎么准备了, 接下来就是好好努力, 努力看书, 努力敲代码了. 以后争取每一个知识点都自己去用代码敲出来, 直到把键盘敲烂为止.
来源: https://www.cnblogs.com/softjiang/p/10253268.html