去哪儿网服务端开发工程师一面面经

  1. java 存在内存泄露吗? 如存在,请举例说明什么情况下会发生泄露。
  2. 项目:cache 设计,MQ 丢失消息,RPC 使用场景。各部分职责,有哪些优化点。
  3. 一个程序在内存中都有哪些数据,哪些会占实际的内存
  4. 滑动窗口是拿来干嘛的,具体是怎样的?
  5. HTTP 和HTTPS的区别
  6. 算法设计方面有什么要注意的嘛? 最重要的就是要设计出好的数据结构,还有流程要理清楚...感觉答的不是很好....
  7. Java GC机制?GC Roots有哪些?
  8. java元空间,永久代和元空间的区别?元空间存放什么?哪些属于类的元数据?
  9. 如果说有一个操作需要创建一个对象,这个对象很大,需要消耗很多资源,如果说每调用一次方法就创建一个对象的话,开销太大,如果把它定义成一个静态变量,又会产生并发问题,那么多线程并发操作的时候就需要加锁,降低效率。怎么优化才能既不用加锁又能提高并发访问的效率?
  10. 进程和线程的区别?线程死了进程会死吗?进程的三个状态?iso五层协议?tcp和udp区别?一个tcp可以有多少http?三次握手四次挥手?
  11. 两台mysql服务器,其中一台挂了,怎么让业务端无感切换,并保证正常情况下讲台服务器的数据是一致的
  12. thread和runnable的区别
  13. equals实现,位运算、左移右移
  14. 反射可以调用私有对象吗?
  15. linux的分段有了解吗?
  16. maven依赖树,maven的依赖传递,循环依赖
  17. 介绍ConcurrentHashMap原理,用的是哪种锁,segment有没可能增大?
  18. 给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?
  19. spring何时创建applicationContext
  20. 新生代和老年代的回收算法(什么时候是标记清除,什么时候标记整理,什么是复制算法,各有什么优缺点)
  21. 在1个10G大小的文件中,存储的都是int型的数据,如何在内存使用小于8M的情况下进行排序
  22. mybatis的缓存说一下? 我:(wc怎么问这个???不问spring嘛)只听说过一级缓存和二级缓存。 MyBatis怎么防止sql注入? 我:参数前面用一个符号,我忘了。。
  23. mongodb与mysql对比,优势在什么地方?
  24. 索引的作用?和它的优点缺点是什么?