饿了么java工程师现场面经

  1. 为什么会出现僵死进程(孤儿进程)?怎样查看僵死进程?如何解决僵死进程问题?
  2. 说些synchronized加载static关键字前和普通方法前的区别?
  3. HashMap 如果一直 put 元素会怎么样?hashcode 全都相同如何?equals 方法都相同如何?
  4. 写一段脚本实现将nginx的access.log日志中ip按访问量排行
  5. 简单说一下堆和栈的区别?
  6. 如果现在有8G内存,一个程序很大,由于还要留下一部分内存供其他程序使用,那么如何控制这个程序使其占用的内存不能超过6G呢?
  7. BeanPostProcessor了解吗?如果我要给一个对象注入spring的组件,应该怎么做?
  8. 海量数据过滤,黑名单过滤一个 url。
  9. POST和GET有什么区别?
  10. Linux,查找磁盘上最大的文件的命令
  11. mysql底层数据结构
  12. 说一下CMS垃圾回收器和G1收集器的特点,和收集过程。
  13. 重载和重入的区别
  14. API接口与SDI接口的区别(API是提供给别人的接口)。
  15. 集群和负载均衡的算法与实现?
  16. synchronize 以及锁的优化 轻量级锁 偏向锁 重量级锁
  17. ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
  18. 简述分库与分表设计?分库分表带来的分布式困境与对应之策有哪些?
  19. nio的底层实现
  20. 给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?
  21. 碰到过的异常:空指针、内存溢出出现的场景threadlocal