JAVA工程师-蚂蚁金服电话面试

   今天5点半接到一个杭州的电话,是蚂蚁金服打来的,当时内心一阵发慌,因为还在上班,就和面试官约定6点下班以后再来。挂完电话,内心忐忑的不行,感受本身这也没准备好,那也没准备好。剩下半个小时彻底没有心思再工做了,把常问的HashMap,concurrentHashMap底层看了一下,算是临时抱佛脚吧。一下班,就收拾出发在公司楼下找了个地方等面试电话。java

     没一下子,电话如期而至。先是聊了下大概状况,而后聊了下工做经历。叫我挑选一个本身以为掌握的最好的项目开始发问。程序员

   最开始问了你以为项目中最难的地方,本身由于毕业了一直在小公司,也没有感受遇到特别困难的地方,憋了半天憋不出来。面试官也放弃了,直接问,项目中用到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相关的,然而一道题都没有,也不知道是否是由于本身前面基础知识回答得确实太差了,已经不想再问框架的了。面试了这一次也好,也知道该怎么准备了,接下来就是好好努力,努力看书,努力敲代码了。之后争取每个知识点都本身去用代码敲出来,直到把键盘敲烂为止。😆😆 数组

相关文章
相关标签/搜索