贝壳一面凉经
9月1号下午面试的,今天回来就整理一下,记录面试过程(虽然凉凉,但是也发现要学的有很多)
1.自我介绍
2.java集合,haspmap,hashset,tablemap,courenthashmap区别联系,因为中间有同步问题,又问道synchroized底层(面试官说集合差不多回答的不错,但是没有说到1.8之后的特性,1.8之后红黑树,courenthashmap没有分段锁,改成对节点上锁了)
3.了解过jvm吗,谈谈jvm分区,gc机制,停止复制算法为什么要分为8:1:1(然后就不知道了),新生代和老年代相关,这里我说的有些乱,聊到我看过一遍这本书,面试官就特惊讶的看着我,好吧,我还得多看几遍,看一遍,很多东西只停留在表面
4.了解哪些设计模式,我说了单例,***,工厂;好,那手写一个工厂模式,加上反射优化。(工厂模式挺简单的。。。加上反射,我就懵逼了)自己写了个抽象工厂,以前从来没有手写过代码,写的很乱,面试官看完就说我应该平时写代码不多,我写的反射是在main方法中调用工厂模式,但是没有解决根本工厂的可扩展,在面试官的指导下把反射加在了工厂类中
5.了解线程池吗,常见的创建线程池的方法。我只说了三种(单个,固定大小,可变的),好像这不是面试官想听的答案(他说我还是停留在知道有这个东西的基础上),接着又问如何去确定一个线程池的线程数,我说不会(最后面试官说和cpu,操作系统有关,这个答不出来没关系)
6.了解mysql存储结构吗,我说b+树,然后又开始问b树,b+树的区别(我不会,又让我画两种树的结构,真的不会,没看到过)
7.接着又问mysql索引,问了组合索引,给了一个like+%的例子,问我,我说索引失效了,然后又给了我一个例子,我说应该也失效了(不会,面试官看出来我是靠猜了,他说这个很重要,不会会打打减分,推荐我去看高性能mysql)
8.了解netty,nio区别,让我画原理图(不会,只是之前看过博客,了解一点点,自己写在简历上了,自己挖的坑,所以简历还要好好改)
9.手写了一个算法:一个int a[],一个数字b,找出a中两数相加和为b的所有不重复的数,结果用hashmap存。我一下子就说出了思路,但是,手写代码还是写不出来,只写了大概
#贝壳找房##算法工程师##秋招##内推##面经#