美团三面和腾讯一面 搜狗一面
搜狗一面(80min)
目前为止面过的时间最长的一次。。。
询问实习时间?其他offer的意向?
介绍项目以及项目问题(10分钟)
Java基础部分
IO核心数据结构,说一下BufferByte,NIO和IO的区别,NIO处理同一份数据的问题?
Java中怎么才能让所有子线程都执行完才执行主线程?多线程控制执行顺序与交互流程?
描述一下Java从写完类到运行起来的整个流程?
如果自己写String类可以把原来的String类覆盖吗?
两个版本不同的jar包(例如1.1和1.2)同时加载,哪个先被加载?为什么?
介绍一下线程的锁,介绍synchronized和Lock类以及volatile,它们的区别?
synchronized修饰代码块、非静态方法、静态方法的不同情况锁住的都是什么?哪个性能更好?
锁的粒度?偏向锁、自旋锁、轻量级锁、重量级锁以及锁粗化,转换的场景?
介绍一下concurrentHashMap类,put加锁了吗,get加锁了吗?
List对象,一边遍历一遍删除可以吗?从头到尾还是从尾到头可以实现边遍历边删除?
Java内存泄漏的场景?举几个例子?OOM的场景?怎么去追踪?
异常的类型,分别介绍一下?有没有自己定义过业务异常?异常出现时是怎么处理的?
Java的内存结构,结合GC一起说一下,Java虚拟机怎么设置堆内存的大小?堆内存扩容之后回缩回去吗?为什么?
ThreadLocal是干什么的?为什么有了volatile还要ThreadLocal?
SpringBoot相关
tomcat怎么改线程池大小?springboot去修改tomcat的参数在哪里改?
spring boot的AOP原理?Java动态代理和cglib的区别?spring IOC容器和流程?
springboot可以用xml配置吗,配置类bean和xml的bean能混用吗?
计算机网络部分
多个副本的Web程序,怎么保证Session不失效?token怎么实现的?除了token还有哪些能支持单点登录?
HTTP1.0,1.1,2.0的区别?keep-alive保证长连接,多个连接占用资源怎么办?
服务器上有很多wait状态的连接是怎么造成的?描述一下三次握手之后的连接状态中传输数据的过程?四次挥手的每个状态都叫什么?
TCP连接的Ddos攻击?
设计模式
设计模式的模板模式和策略模式?除了单例模式,还熟悉哪些设计模式?描述一下你熟悉设计模式?
数据库
MySQL的like查询会走索引吗?写sql的常见注意事项有哪些?MySQL的隔离级别有哪些?分别描述一下。事务是怎么实现的?
说一个写过的最复杂的sql语句?having 可以单独用吗?
其他
k8s怎么用的?service的类型?端口怎么暴露出去?访问时会怎么去寻找?
最近在看什么技术书?看过JDK源码吗?会不会go语言?
口述了一个算法题(excel中的列按数字转换,例如整数1对应A,26对应Z,27对应AA,28对应AB,输入一个数字返回相应字符串)
有没有转正意愿?什么时候可以实习?
你还有什么问题?
腾讯一面
自我介绍
项目介绍
写个代码(三个线程分别打印ABC,一直按序打印ABC)
刚开始用Lock锁加condition做突然脑子懵了,翻车了,最后改回用synchronized做的,浪费了不少时间。。。
原子变量类有了解过吗?实现的机制?
描述CAS操作?线程池怎么工作的?Java的公平锁和非公平锁的区别?
Java的集合有哪些?说一下你了解的集合?
List以及Set的底层如何实现?扩容的过程?数据元素以及内存如何变化?
Java的GC如何实现的,介绍一下GC算法?
介绍一下springboot。IOC的启动的机制是什么样的?
介绍一下MySQL的索引,MySQL的事务。
(此时美团约三面的电话来了,后面记不太清楚了,大概又问了10分钟左右的样子)
MySQL可重复读的实现原理?事务的实现原理?
没有问太多项目细节和实现
美团三面
全程只问了项目另加一些类似HR的问题,没有问基础知识,只问了项目管理的一些问题
项目细节(10分钟)
项目的需求以及目的?项目的团队规模?项目的整体架构介绍一下?
你负责的模块挑战有哪些?怎么克服的,项目中做了哪些优化?
QPS有测试过吗?项目的规模?用了几台服务器?出过什么故障吗?
代码编写怎么去管理的,有没有代码审查?用户数量有多少?
做了项目有什么较大的收获?项目中的角色都有哪些?多人团队的进度节奏怎么统一的?
重新部署项目的过程会不会遇到困难,怎么去优化这个部署过程?
技术点出现分歧如何达成共识?中间件技术栈不一致如何解决的?
有其他offer吗,其他offer是什么岗位?
学校中课设或大作业中担任的角色?与团队成员产生冲突时怎么做的?如果有团队成员掉队怎么办?
项目中负责人到参与者的角色转变对你心态的影响?
现在在实验室做的工作有哪些?
项目进行当中有设置时间点和里程碑吗?
你还有什么问题吗?(探讨了一下不同公司对软件过程管理的态度以及原因)
美团接到了 OC