这次!我把字节跳动第二期的Java面试参考手册搞到手了,真香

金九银十跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪,相信不快也光。于是,大家都会搜集一些面试题。

但其实,对于一些不跳槽的同学来说,真的也很有必要去研读一些大厂的面试题。了解一下最近的主流技术,看看大厂在意的点是什么,再在自己的工作中去完善,去总结。

于是,我去拜访了一位老友,现在是字节跳动三轮面试官(部门内招聘第三面大多都是让他去面),交谈了许久,讨到了一份最新的Java岗的面试参考手册!(PS:其实面试官也经常不知道问啥,也是会看一些文档上面的问题来选择性的去提问)

字节跳动Java岗面试参考手册(第二版)

下面我们来看一下这份面试参考手册的一些细则和提问的点,由于文章的篇幅限制,内容无法一一展示出来,文章下面有完整版的获取方式(免费)

Java 基础

  • Java 的8种基本数据类型 装箱 拆箱
  • Concurrent 包
  • 面向对象
  • String StringBuffer StringBuilder hashcode equ
  • Java文件读取
  • Java反射
  • JDK NDK JRE JNI
  • Static 和final的区别
  • Session和COOKIE

集合类 Set

  • HashMap
  • CurrentHashMap
  • Hashtable
  • hashtable和hashmap的区别
  • HashMap和ConCurrentHashMap区别
  • ConcurrentHashMap和HashTable区别
  • linkedHashMap
  • Linkedhashmap 与hashmap 的区别
  • HashSet
  • hashmap 与hashset 区别
  • Collections.sort 内部原理
  • 迭代器 Iterator Enumeration
  • LIST ArrayList,LinkedList 和Vector 的区别和实现原理
  • 快速失败(fail-fast)和安全失败(fail-safe)

锁 volatile synchronized Lock ReentrantLock AQS CAS

  • volatile 和 synchronized 实现原理
  • Volatile 与 synchronized 区别
  • Synchronized 原理
  • CAS
  • ReentrantLock 和 synchronized 区别

Java 多线程

  • 如何创建线程?哪种好?
  • 线程状态
  • 一般线程和守护线程的区别
  • sleep wait yield notify notifyAll join
  • 中断线程
  • 多线程如何避兔死锁
  • 多线程的好处以及问题
  • 多线程共用一个数据变量注意什么?
  • 线程通信方式
  • 线程池
  • 线程中抛出异常怎么办

Java内存模型和垃圾回收

  • 什么是 JMM 内存模型?(JMM 和内存区域划分不是一回事)
  • 内存分区
  • GC算法(YGC and FGC)
  • 内存泄露
  • 内存泄露的案例分析jm 调优
  • Jstat jmap jps jinfo jconsole
  • JVM参数设置
  • 内存分配与回收策略
  • 面试问题

JUC 包

  • JUC 概况
  • Tools
  • Queue
  • 线程池工作原理
  • 线程池分类
  • 线程池底层实现类ThreadPoolExecutor类
  • 线程池状态

设计模式

  • 什么是设计模式
  • 设计模式六大原则
  • Java 动态代理

数据结构

  • 直接插入排序
  • 希尔排序
  • 冒泡排序
  • 快速排序
  • 直接选择排序
  • 堆排序
  • 归并排序
  • 基数排序
  • 二分查找树
  • LRU 实现

数据库

  • 索引B树B+树
  • innoDB 与MylSAM引擎区别
  • 事务隔离级别(恶果:脏读幻读不可重复读)
  • 数据库特性ACID
  • sql
  • 数据库范式
  • 数据库连接池
  • DDL DML DCLexplain
  • explain
  • 分库分表
  • 数据库锁
  • 其它问题

网络

  • HTTP 请求报文& HTTP响应报文
  • HTTP 报文头部请求头和响应头
  • HTTP 请求方法
  • HTTP 请求过程
  • Get和Post区别
  • HTTP 状态码
  • HTTP 长连接短连接
  • HTTP协议是无状态什么时候用长连接,短连接?
  • HTTP1.1 与HTTP1.0 的区别
  • HTTP2.0 与 HTTP1.0 的区别
  • 转发与重定向的区别
  • TCP头部
  • TCP与UDP区别
  • TCP三次握手
  • TCP四次挥手
  • TCP粘包问题Nagle算法
  • TCP如何保证可靠性传输
  • TCP流量控制拥塞控制
  • 滑动窗口机制
  • TCP状态转移
  • TIME_WAIT 和 CLOSE_WAIT
  • OSI七层
  • APR
  • ICMP协议
  • DNCP协议
  • RARP协议
  • 路由选择协议OSPF RIP
  • SNMP
  • SMTP
  • IP
  • 网络攻击
  • DNS 浏览器中输入URL到页面加载的发生了什么
  • HTTPS SSL

操作系统

  • 进程线程区别
  • 进程通信方式
  • 僵尸进程
  • 进程同步PV信号量
  • 死锁避免-银行家算法
  • 死锁避免-安全序列
  • 同步 异步 阻塞 非阻塞
  • 操作系统CPU 调度算法
  • 内存管理方式(页存储 段存储 段页存储)
  • 页面置换算法
  • IO种类IO的原理
  • selectepoll
  • 物理地址 虚拟地址 逻辑地址
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务