一面
社招,5年工作经验,面完之后问了下招聘要求,是要招小leader技术经理的岗位,除了技术要求外,还得有些方法论,理论知识。需要带人做项目,面完盘算了下,对应阿里应该P7级别了,我的水平也就是个P6吧,还在国企工作了快一年,水平下降的厉害。下面是面试记录的问题:
- 自我介绍
- 国企的项目直接忽略,第二份工作经历是阿里,项目从0到1建设到百万QPS流量,你在这里承担什么角色(owner)
- 项目的技术架构,业务架构描述一下吧(准备了语雀文档,开屏幕共享讲)
- 这个是HSF那块项目吗(阿里内部RPC框架),上面有没有封装一层调用的平台(RPC转HTTP平台)
- 数据存储层,MySQL、Redis、ES分别存了什么东西(空间属性数据、标签属性数据)
- ES的性能不太好,200多万条数据,为什么搜索效率不高,为什么慢,分析过原因没(这块没回答好)
- 数据放到机器内存里,多台服务器,有台服务器DOWN了,数据就没了是吧(重启会重新加载数据到内存)
- 一个数据中心还是多个数据中心,问的是异地多活(基建已经做好了,双机房)
- 双机房数据怎么同步的?(内部中间件,手动创建任务,两边机房都推数)
- Redis的线程模型有了解过吗?单线程为什么效率高
- 有用过NIO的框架吗?
- 百万QPS,怎么维护客户端的连接,这块怎么做的,传统的HTTP节点无法保证吧?(这里应该是想问IO相关的,答的单机3000-4000QPS,有200多台机器)
- 百万QPS里面有没有做一些性能优化的工作,用到NIO,系统优化,nginx参数优化等,细节的工作?(服务发布抖动JIT问题优化,小流量预热)
- 解决过Redis集群大key,热点key问题,怎么解决的?(热点key冗余存储,大key按业务拆分)
- 热点key、大key带来什么问题?(请求打到单节点,性能瓶颈)
- 事务了解过吗?MySQL的事务
- 事务的隔离级别,简单讲一下
- CAP原理,3选2,Redis集群遵循的是哪两者?CAP理论简单讲一下(一致性、可用性、分区容错性),不同的分布式系统选择CAP时,怎么选,比如Redis cluster注重哪两者(八股没背到,直接说不了解。。。)
- 缓存一致性协议有了解过吗?不是MySQL和Redis的那个,是如何保证我的缓存中使用的共享变量的副本是一致的?也不是JMM,很多技术原理都涉及到这一块,就是一种技术理念
- Java的synchronized和volatile两个关键字,讲下实现原理,和能做什么?
- synchronized和Lock有什么区别?
- Java里的重量级锁、偏向锁,锁升级、锁优化的过程,这个了解吗,jdk1.8之后对synchronized进行了优化,有哪些锁优化(适应性自旋、锁消除、锁粗化、轻量级锁、偏向锁)
- MySQL有没有一些性能优化的经验,SQL优化的经验说说(回表、覆盖索引,其他忘了)
- 最后一个问题,现网服务很卡,你一般怎么排查(这里只讲了排查过程,其实是想听到一些方法论的东西)
- 怎么定位卡的问题呢?没有听到一些方法论的东西,有可能是硬件的问题,网络问题,程序问题,程序报OOM了
- OOM的问题怎么去定位和解决
- 为什么从北京回武汉了,现在又要回来?一般到年纪了都是回老家,你怎么相反了?
- 平时有什么兴趣爱好,除了技术爱好
- 反问:业务是做什么,这边都是做项目的,不像你之前都是做产品的,
- 面试流程有多长?共三面,第二面不考技术细节,考察一些思维,做项目的;
#科大讯飞求职进展汇总#