美团移动端开发一面(后端捞移动端)

美团 · 移动端开发 · 一面 · 2026-04

面试题目

  1. 自我介绍
  2. 有在其他地方学到java的知识吗?
  3. 面向对象的语言的三大特征?解释一下多态?除了继承,还有其他方式实现多态吗?
  4. java有哪些基本类型?long和float占用的字节和区别?
  5. 静态内部类和匿名内部类的区别?对外部成员变量的访问差异?
  6. java的四种访问权限?protect和default的区别?
  7. exception和error的区别?中断和捕获?
  8. 编译时异常和运行时异常的区别及例子?
  9. 线程的run方法和start方法有什么区别?
  10. tcp和udp的区别?
  11. 什么是三次握手?什么是四次挥手?为什么是四次挥手?
  12. get和post的区别?
  13. 线程和进程的区别?
  14. 操作系统对于进程的策略?
  15. 解释一下并发和并行?
  16. 栈和队列的区别?
  17. LinkedList和ArrayList的区别?
  18. ArrayList是线程安全的吗?为什么不安全?
  19. 说一下HashMap的数据结构?为什么使用红黑树?
  20. 项目拷打
  21. AI对于工作和生活的改变?
  22. 对AI的学习方法及习惯?
  23. 学习AI的渠道?claude code的源码泄漏相关看法?
  24. 手撕代码:链表逆序求和(类似LeetCode 445)

参考解析

  • 多态实现:Java中多态主要通过继承父类(方法重写)和实现接口(接口方法实现)来实现,在编译期表现为向上转型。
  • Error vs Exception:Error表示系统级错误(如OutOfMemory),不可恢复;Exception是程序逻辑异常,可通过try-catch处理。
  • Run vs Start:调用run方法仅仅是普通的方法调用,不会创建新线程;调用start方法才会启动线程,并由JVM调用run方法。
  • TCP vs UDP:TCP是面向连接、可靠的传输,保证数据有序到达;UDP是无连接、不可靠的传输,效率高,适用于实时通信。
  • ArrayList线程不安全:ArrayList在多线程环境下进行add操作时,可能会发生数组扩容冲突或覆盖数据,导致数据不一致或抛出异常。
  • HashMap红黑树:当链表长度超过8时,查询效率会大幅下降,红黑树的查找时间复杂度为O(log n),能有效提升Hash冲突严重时的性能。