• 找的内推,无笔试;三轮技术面、无HR面;

9.18 一面

1.自我介绍+聊项目
2.讲一下Java的IO流和异常处理
3.进程的调度算法
4.讲一下https如何实现可靠性
5.https如何防止被恶意攻击
6.讲一下redits的持久化机制
7.缓存穿透、击穿、雪崩,选一个讲一下
8.讲一下分布式都学了什么
9.原创算法题:判断sql语句是是否有嵌套的select

9.26 二面

1.自我介绍+项目介绍
2.Java垃圾回收机制,了解:堆内内存和堆外内存吗?
3.Http1.1和Http2.0的区别
4.Http的keep alive
5.1数据库的ACID,如何实现的
5.2redo log 和 binlog 和undo log
6.数据库主从复制、读写分离,从库如何顶上主库
7.redits哨兵机制,数据存储不下如何处理
8.AQS原理
9.TCP头部的RST标志位
10.算法题:岛屿数量-leetcode200

9.30 三面

1.Https和Http的区别
2.数据库的ACID特性和具体的实现方式
3.设计一个线程池,要求线程池中的线程不能被饿死
4.线程上下文切换是如何实现的?如何自己设计实现呢?
5.操作系统分页、分段、TLB
6.给缓存设计索引,索引应该是什么结构
7.分布式了解哪些
8.介绍项目,根据项目问了一个问题

10.9 意向书

面试总结:

① 讲自己项目的时候,一定要有自信
② 简历上的东西一定要都会,包括学过的课程,自己简历上写了学过分布式计算,一面面试官看我学过分布式就问了一个分布式知识点,结果没答出来,还好自己讲了讲知道的分布式知识点和一篇看过的论文《Google File System》,三面面试官又问了同样的问题😂
③ 不会的问题能说多少是多少,实在不会就说不会吧,不然面试官就会感觉你在乱说,而且回答问题的时候不要给自己挖坑,不要提到自己的盲点😂二面说了一句主从复制:从库可以顶替上主库,然后面试官开始问具体的顶替过程,自己却不会
④ 算法题:原创题目,即使是最笨的方法,也要把结果弄出来(测试用例输出正确);如果是leetcode上做过的题目,用适中的方法就可以,前提是自己刷题的时候,就要会多种方法;