Skip to content

Latest commit

 

History

History
137 lines (68 loc) · 2.98 KB

面试常问点.md

File metadata and controls

137 lines (68 loc) · 2.98 KB

计算机网络

HTTP、TCP、UDP、IP、ICMP、DNS、FTP等协议分别处于哪层?

TCP和UDP的区别?

TCP为什么要三次握手?

TCP为什么要四次挥手?

time_wait的作用是什么?

GET 和 POST的区别?

HTTP状态码?(1开头到5开头的各种典型状态码)

ping指令用的什么协议?在哪一层?

ARP协议的作用?

路由器和交换机的区别?

数据库

B+树和B树在数据结构上有什么区别?

为什么用的B+树而不是B树做索引?

什么是聚簇索引?

非常重要:联合索引最左匹配原则。一定要弄懂。

如果碰到一个慢查询,优化的思路是什么?

说一下数据库的事务?

怎么理解其中的一致性?

隔离的四个级别?它们分别能解决什么样的并发问题?

脏读、不可重读、幻读,分别是什么意思?怎么解决的?

可重复读的隔离级别实现的方式有哪些?

三重加锁协议说一下?

MVCC的实现原理?

各种join语句有什么区别?(inner、right、left等)

很重要:要会写sql语句|要会写sql语句|要会写sql语句

操作系统

线程和进程的区别?很常问到***

进程间同步的方式?

死锁发生的条件?

死锁发生的四个条件对应的预防死锁的四个方式?

分页、分段和段页式?

常见的几种分页置换算法?(FIFO、LRU、NRU等)

Java基础

Java的Object类有哪些方法?分别有啥作用?

equals和hashcode有什么关系?

Java基本数据类型的缓存池(这个我被头条的面试官问到过)

反射的作用和优缺点

对待程序抛出的异常应该怎么处理?

什么是泛型?写一个简单的泛型程序。(58二面问到了,记住泛型的泛类标志的位置即可)

JVM方面

说一下运行时内存区域?

垃圾怎么被标记的?

说一下常见的垃圾回收算法?(整理、复制、清除等)

垃圾分代回收的过程?

CMS的四个阶段?CMS有什么优缺点?

G1的的垃圾回收过程?

类加载的过程?双亲委派模型能解决什么问题?

Java并发

创建新线程的几种方式?

线程的状态?它们怎么相互变化的?

synchronized关键字有什么作用?

可重入锁ReentrantLock的作用?和synchronized的区别?

volatile关键字的作用?(两个)能保证原子操作吗?

线程池的创建方式?有哪些剧啊定义好的线程池?

创建线程池的有哪些参数?分别啥作用?(ThreadPoolExecutor)

ConcurrentHashMap的数据结构和同步方式?7和8有啥区别?

Spring

ioc是什么?resource 和 autowired的区别?

aop是什么?一般在什么地方用?

springboot和springmvc相比,优点在哪?原理上有什么变化?

redis

redis的数据结构有哪些?

redis的持久化方式:RDB和AOF

消息队列用list

类似排行榜的需求用zset

缓存雪崩、缓存击穿知道就行

缓存击穿的解决方案?(布隆过滤器)