约的下午两点半的面试,地点在望京科创大厦A座。进去之后,hr负责找个位置安排好坐一下,一般就是在茶水间,或者其他地方有个圆桌几个凳子的那种。当天是周五,人巨多,位子都坐满了,在三楼找了十来分钟也没找到位子,后来去了四楼找到了一个位置。当天总共有两面。一面的面试官一看应该是技术大牛,人也挺nice的。刚开始简单的聊了聊自己的经历以及一些期望做什么工作呀之类的。我就把自己从毕业到现在的工作经历讲了一遍,以及想做技术开发的工作,等等。然后就开始面技术了。直接问JAVA里面有几个集合类,分别有什么样的继承关系。我就把list,map,queue等等说了一下,忘记说set了,面试官提了一下。接着又问了下concurrenthashmap,实现原来,怎么加锁,怎么实现并发,等等。然后问hashmap怎么扩容,我简单说了一下有个load_factor,0.75,超过阈值之后就需要扩容了,后来问加载因子可以修改吗,我说记不清楚了。后来问了一下volatile干嘛用的,值得一提的是,面试官说不知道他发音准不准,要不要写下来。我就简单的说了一下volatile是多线程变成使用的,直接从内存读,不让系统不优化等等。接着问知不知道数据库的主从备份,分库分表等等。接着问了一下innodb的存贮模式,后来又问了B+书,问B+树的数据存储在哪里,只有叶子存储数据呢,还是叶子和中间节点都存储数据,当时回答说都存储数据,回来的路上想起来了,只有叶子存储数据的,遗憾。然后问了一下JVM,问问有没有用过看JVM的工具等等。接着问了一下JVM的垃圾回收机制。接着让做了一个简单的算法题目,就是实现两个大整数相加,整数非常大,long都存不下。我说用字符串表示吧,然后实现字符串从低位向高位相加。后来让在纸上写了代码。一面结束了。二面应该是个manager,问的问题不多,让聊了聊项目经理,遇到的一些问题,以及怎么解决的。接着问期望薪水等等。大概十几分钟就完事了。...查看更多