腾讯 Java 高级岗 180 道面试真题

一、数据结构与算法基础

  1. · 说一下几种常见的排序算法和分别的复杂度。

  2. · 用 Java 写一个冒泡排序算法

  3. · 描述一下链式存储结构。

  4. · 如何遍历一棵二叉树?

  5. · 倒排一个 LinkedList。

  6. · 用 Java 写一个递归遍历目录下面的所有文件。

二、Java 基础

  1. · 接口与抽象类的区别?

  2. · Java 中的异常有哪几类?分别怎么使用?

  3. · 常用的集合类有哪些?比如 List 如何排序?

  4. · ArrayList 和 LinkedList 内部的实现大致是怎样的?他们之间的区别和优缺点?

  5. · 内存溢出是怎么回事?请举一个例子?

  6. · ==和 equals 的区别?

  7. · hashCode 方法的作用?

  8. · NIO 是什么?适用于何种场景?

  9. · HashMap 实现原理,如何保证 HashMap 的线程安全?

  10. · JVM 内存结构,为什么需要 GC?

  11. · NIO 模型,select/epoll 的区别,多路复用的原理

  12. · Java 中一个字符占多少个字节,扩展再问 int, long, double 占多少字节

  13. · 创建一个类的实例都有哪些办法?

  14. · final/finally/finalize 的区别?

  15. · Session/Cookie 的区别?

  16. · String/StringBuffer/StringBuilder 的区别,扩展再问他们的实现?

  17. · Servlet 的生命周期?

  18. · 如何用 Java 分配一段连续的 1G 的内存空间?需要注意些什么?

  19. · Java 有自己的内存回收机制,但为什么还存在内存泄露的问题呢?

  20. · 什么是 java 序列化,如何实现 java 序列化?(写一个实例)?

  21. · String s = new String("abc");创建了几个 String Object?

你可能感兴趣的:(后端,java,面试,jvm,后端,职场和发展)