前言
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的,在我看来,自己付出多少,回报就有多少。
百度
一面
1.自我介绍
2.Java基础:类如何被加载(整个类加载到new一个对象的过程说了一遍)
3.数据库索引结构
4.ThreadLocal
5.创建线程的方式有哪些
6.详细说一下线程池的参数有哪些
7.说一下JAVA 8 的新特性(lambda、Stream等)
8.说一下java设计模式中的开闭原则
9.系统什么时候需要重构,如何重构
10.从url到返回一个页面 走了哪些过程(从DNS域名解析、TCP、Http、再到后端的mvc架构都说了一遍)
11.多线程如何解决并发问题(锁 以及原子操作类(底层是CAS,谈到了aba问题以及解决方法))
12.为什么要用多线程(提高访问效率和速度)
13.微服务了解么
14.AQS队列同步器以及AQS内部类中的Condaition中的等待队列
15.反问
二面
1.自我介绍
2.说一下你的实习项目
3.你的实习项目中主要用到的中间件有哪些
4.为什么会用到消息队列,是用来干什么的
5.说一下TCP
6.TCP的拥塞控制
7.