当前位置: 首页 > 面试经验 >

美团一面4.1(已回人才库)

优质
小牛编辑
87浏览
2024-04-02

美团一面4.1(已回人才库)

自我介绍+项目功能介绍,如何实现,推荐算法有没有了解更深入的。

  1. == 和 equals() 的区别。答了 == 是基本数据类型值比较,引用数据类型地址比较;equals 是判断对象内部属性是否相等。
  2. equals 重写应该注意什么。答了要覆盖 hashcode() 方法,既要比较对象内部属性,也要比较哈希值。(怀疑是1没答清楚,说实话2也没答清楚,或许讲一下为什么需要重写,Object类的equals就是==,多讲一些可能比较好)。
  3. int和Integer比较会发生什么。答了Integer会自动拆箱。又追问如果Integer是null会发生什么,应该是报空指针异常吧,答的false。
  4. 使用 equals 的时候要注意什么。不知道答什么,可能是重写要注意什么外加对null值的处理吧,胡诌了个不适合Float和Double的比较。
  5. final关键字的使用。答了修饰变量之后不可更改,修饰类不能被继承,举了String的例子,修饰方法。
  6. 用过的集合。说了 ArrayList, LinkedList, HashMap, 讲了下前面2个的区别,ArrayList的扩容机制,HashMap的底层实现。
  7. 红黑树的性质。根节点是黑色,红节点不连续(红节点的子节点一定是黑色),叶子结点是黑色,根节点到叶子结点的路径黑色节点总数相同。
  8. 介绍synchronized和ReentrantLock。讲了synchronized是JVM层面,底层是monitor对象监视器,锁升级;ReentrantLock是JDK层面。二者都是可重入锁,ReentrantLock可中断。
  9. ReentrantLock底层原理。说实话忘了,后面又提示我 AQS ,没答上来。
  10. AQS 。
  11. Java内存区域介绍,每个部分发生OOM的原因,特别问了字符串常量池和主内存会不会发生OOM,在什么情况下发生。
  12. 第一道题:大概是2个表的联表查询,最后返回每个group的平均工资,过了一半的用例,大抵是太久没写sql了。
  13. 结合这个题讲一下索引,问有用到索引吗。有点宕机了,大概介绍了下二级索引,回表,覆盖索引,说推荐把salary和title做一个联合索引。
  14. 数据库的隔离级别。经典八股,顺便讲了脏读,不可重复读,幻读。
  15. 第二道题:反转链表II,LeetCode 92,时间O(n),空间O(1)。想的是单循环头插法,应该是写了个死循环,在线展示overflow。做了10来分钟,面试官说思路没啥问题就继续问了。
  16. 有没有了解缓存和消息队列。讲了下消息队列是干嘛的,然后讲了几分钟的Redis。
  17. 反问,随便问问,问了下分布式场景,比如多服务器处理session同步。

总的来说,面试官人很好,问的基本上都基础八股吧,回答的时候很多地方讲的不怎么清楚,然后2个笔试题没做出来,有待提高。

#软件开发2024笔面经#
 类似资料: