一面
- 工作内容
- 所做项目的难点
- 写一个单例,在写一个静态内部类的单例
- jvm内存模型
- 程序计数器是干嘛的
- jvm参数都有哪些
- 从写入url到返回页面的过程
- dns是在哪维护的?维护的什么?怎么找到具体的ip的
- 整个http的请求流程
- springmvc从收到请求到返回响应的流程
- 常见的http状态码?504是什么
- 滑动窗口?解决什么问题
- 数据库连接池干嘛的?有哪些参数?
- 程序是怎么连接并操作数据库的?(从建立tcp连接说起)
- 数据库索引结构?为什么用B+树做索引
- 什么情况下索引失效?什么样的查询会失效
- 联合索引的原则
- springboot和springcloud的区别
- springcloud常用组件
- redis常用数据结构
- 什么是缓存穿透?怎么解决
- 什么是缓存击穿?怎么解决
- 一致性hash算法
- 如果节点过于聚集怎么办?假如都在左半环,怎么解决?
- 算法:给一个字符串,求最大不重复子串(不能有重复字母)(如给定字符串abcadb,最大不重复串为abc)
二面
- 工作内容(问的巨细,拿你的场景问你)
- 设计一个规则模块,怎么动态修改规则,响应时间尽量短
- 对已有的规则,es怎么建立索引
- es原理,什么是倒排索引
- es集群
- kafka?忘了问啥了
- kafka的ack机制
- spring中用到的设计模式
- 观察者模式主要是用来干嘛的
- spring启动流程
- spring单例模式是怎么实现的
- 装bean的容器是什么?怎么实现的
- 一个web项目,响应慢,怎么排查,不考虑调用第三方接口(详细到具体实现)
- 两个list求交集,写代码,时间复杂度是多少(我用的set)使用set一定是O(n)么
- 如果上面算法是业务场景,怎么设计实现,假如list1为所有权限,list2为用户权限,允许使用中间件,怎么实现交集
- 多线程下hashset是线程安全的么
- juc包下除了concurrenthashmap还有什么
- 一个短信模块,多个线程发送信息给客户,该怎么设计
- 高并发情况下如何保证接口幂等性
- synchronize原理
- synchronize和lock的区别
- 锁在底层是一个什么概念?怎么实现的
- 分布式事务
- 了解flink么?storm呢、Hadoop呢