字节秋招一面凉经
项目,实习没啥参考意义就不写了。
讲到一半面试官说想过一下“基础知识”,就来八股了,答得不好,三四天后挂了。
八股
虚拟内存,常驻内存和共享内存
正确回答:
- 虚拟内存:指系统用分段,分页的方法把物理内存划分,映射给进程看到的连续的虚拟地址空间。好处允许多程序隔离,内存可以超过物理上限。可能有性能开销,页面抖动。
- 共享内存:多个进程共享一片物理内存,允许同时访问,可以用来进程间通信和共享数据。
- 常驻内存:未被交换给磁盘的常用部分页
IO的多路复用
进程的调度算法
RR调度算法怎么实现
JVM的垃圾回收算法
G1回收对象过程
永久代替换成元空间,为什么?
正确回答:
- 永久代有一个 JVM 本身设置的固定大小上限,无法进行调整(也就是受到 JVM 内存的限制),而元空间使用的是本地内存,受本机可用内存的限制,虽然元空间仍旧可能溢出,但是比原来出现的几率会更小
- 元空间里面存放的是类的元数据,这样加载多少类的元数据就不由
MaxPermSize
控制了, 而由系统的实际可用空间来控制,这样能加载的类就更多了 - 在 JDK8,合并 HotSpot 和 JRockit 的代码时, JRockit 从来没有一个叫永久代的东西
- 永久代会为 GC 带来不必要的复杂度,并且回收效率偏低
AQS
Synchronized 底层
锁的分类,Java的实现
AOP原理
循环依赖,怎么解决的
Redis的常用数据类型
你最常用的是什么 Redis 数据类型
ZSet 的底层
Redis的持久化方式,优缺点,场景
数据库调优
Explain相关
数据库的日志分类,使用场景
算法
一个有序链表的数组,合并成一个有序链表
#字节##面经#