java开发面试流程
常见互联网公司面试一般为三轮技术面,每一轮面试流程都是一样的,面试官会考察五块知识
1、计算机网络
常见问题:
1.TCP三次握手说一下?
2.为什么要三次握手呢?两次不行吗?
3.Http协议哪一层?
4.说一下URL到出现页面的整个过程?(面试官对我的每一个步骤,都进行了提问)
5.tcp挥手的时候什么时候出现了time_wait?为什么要出现time_wait?
6.TCP的拥塞控制?
2、操作系统
1、虚拟内存是什么和存在的意义?
2、死锁是什么?和如何解决死锁问题?
3、僵尸进程、孤儿进程
3、数据库mysql和redis
1、MySQL幻读是什么?如何解决幻读(MVCC + 间隙锁)
2、聚簇索引和非聚簇索引?
3、写一个sql语句
Student (sno, sname)
Course (sno, courno, score)
找出所有成绩都合格的学生的名字(一个学生会有多门课程)
4、java基础
1.spring控制反转,依赖注入(有哪些方式),aop,动态代理
2.spring mvc 模式基本问题
3.jvm内存模型,静态数据放在哪里
4.重载重写,string可以重写吗
5、数据结构与算法
面试官会从力扣上找一个题,原封不动给你做,千万不要用暴力法,除非你技术非常好,否则。。。