作者:JooKS 链接:https://www.nowcoder.com/discuss/726264?source_id=discuss_experience_nctrack&channel=-1 来源:牛客网
一面(11: 00)
-
自我介绍,可以出来实习否?
-
说一说你自己做的项目吧。。。你没有工作过,项目没什么好问啊。
-
讲讲mysql的索引为什么要用B+树
-
B+树为什么更矮胖?
-
给一个联合索引,判断一下会不会走索引。
-
jvm里面怎么判断垃圾呢?
-
时间过得好慢,来做两道题吧。算法题:删除倒数第K个节点。
-
反问:聊了聊一些技术栈的事情。
二面(11: 00)
-
自我介绍
-
项目
-
shardingsphere proxy,Java agent,字节码注入?
-
数据库分布式怎么搞?
-
垂直拆分有什么问题?
-
问问Java基础吧,ArrayList和LinkedList的区别
-
HashMap全套
-
ConcurrentHashMap全套
-
syncronized全套
-
jvm内存模型。
-
怎么判断哪些是垃圾
-
垃圾回收算法?你用过哪些垃圾收集器?
-
你用过的机器内存有多大,碰到过哪些问题?
-
innodb事务的隔离级别
-
可重复读解决了什么问题?
-
索引调优思路?
-
讲一讲Java的线程池
-
分布式中间件会吗?比如zookeeper?
-
另一个项目
-
做道题吧:力扣143. 重排链表
-
反问:建议?
1.公司简介
美团,干饭人都不陌生了,如果没有外卖软件,可能很多人连饭都没的吃,这真不是危言耸听。当然美团不只有美团外卖,还有其它业务,比如社区团购。即使很多业务一直处于亏损当中,但美团仍然是一个大体量的互联网公司,福利待遇自是不用说了~
2.面试分析
1)面试时间:中等时长
2)面试内容:中,不算多,但有些回答起来展开很多
3)试题难度:中级
4)试题拓展:扩展广泛
5)核心考点:数据结构+索引+jvm+代理模式+集合+锁+垃圾回收+数据库事务+多线程+算法
6)总结:面试官想问项目,但面试者没有项目经验,作罢,所以接下来问的都是理论内容了,两个算法题也是对编程思维和数据结构的考察。整体内容很充实,虽然没有涉及到任何实战问题,但问的基础内容都是工作当中的难点,一般的CRUD是用不到这些知识点的,而在一些复杂业务处理以及优化上面,就需要在理论知识上的深入做支撑了。即使大概率入职后前期工作以简单写代码为主,后期也是有机会进入核心团队的。
3.提升建议
1)技术提升
数据结构+数据库是非常经典的面试题组合,这两方面准备多一些,基本都会被问到,毕竟一个是底层支撑,一个是数据支持,哪个软件不需要这两项内容?而且还是关键的两项,所以如果在这两项上有突出表现,一般都会有加分的。数据结构多以算法题考察,所以就多刷题吧,力扣刷个排名出来就厉害了。数据库问题多以索引为主,这块比较难,如果没有数据支持,很难去理解里面的精髓,最好能找一个开源项目跟着感受一下
2)面试准备
总有面试者在面试的时候因为没有项目而尴尬,这不是技术和能力的问题,这是态度问题。想要有一个拿得出手的项目非常简单,不管是通过搜索引擎、学习网站、还是淘宝咸鱼,都能买到项目教程,即使是千篇一律的电商网站,也不要嗤之以鼻,没那么简单的。最好的方案是,从0开始打磨一款开源软件,从PC端到APP到小程序全部实现,用大学3年的时间去打磨产品,最后一年去做商业化运营,这4年里为此而学习的知识就相当丰富了,相当于自己创业了一次,可选择的岗位就很多了。如果项目数据比较优秀,那就是最好的金字招牌了。
3)面试技巧
面试内容总是那么多,常面热点也总是那些,怎么能突出你比别人厉害呢?凡事多说一个为什么就可以。比如大家都知道索引可以提高数据查询速度,为什么?集合有List、Set、Map各有不同,为什么要有三种集合?知其然知其所以然,不浮于表面,不做背题机器,这就是你跟别人的不同之处。