京东运维后台开发一面面经(社招)
1.多线程开局
线程的创建方式和区别,线程池的参数和好处,threadlocal 的父子线程如何共享数据
(inherittable Threadlocal)
2.jvm 进阶
内存模型(共有的,私有的,都用来干嘛),创建对象的过程(说了类加载器之类的,有点
官方,后来想想应该按自己的想法答比较好,还能讲讲反射),新生代老生代垃圾回收和对
象分配问题(栈内存泄露和堆内存泄露),jvm 实操调优(jps,jstack,jdump 和一些常用的
jvm 参数)
3.数据库
索引什么时候会失效(<>,*等),
left join 之类的表连接,慢查询(一些基础命令和查询datadir
日志),leftjoin 造成的全表扫描怎么优化,怎么精确定位是哪个语句导致了所有的慢查询
4.linux
常用命令(ps,top,netstat 等),如何查看内存使用情况(free,/proc/meminfo 这个没答
上来不记得了)
5.秒杀项目
为什么做(学中间件和缓存),redis 保存数据库一致性(先更新数据库,在用队列删除缓
存或者设置一下缓存过期时间),还聊了下阿里的canal(因为用了),消息中间件如何流
量削峰(比如进来100000 万条数据,其实只要100 个其他不要了,保证有100 个就好),
还进行了哪些优化,研究了消息丢失重复该怎么办(业务端创建一个表记录信息id,发送成
功就删除),缓存穿透(布隆过滤器),本来还想讲讲分布式,想想才刚学就算了,自己挖
坑跳就不好了
6.时间差不多了,你有什么想问我的吗
部门是做什么的
#京东##社招##运维工程师##面经#