面试岗位:Java开发工程师
面试时间:2018年3月8日
面试地点:奋斗大厦
面试时间:10:00 ~ 15:00
面试轮次:4轮技术 + 1轮部门总经理
第1~4轮:
1.同步与异步,阻塞与非阻塞;
2.mysql主从同步;
3.分库分表;
4.HashMap的实现逻辑,resize时bucket的数量为什么是2倍扩容;
5.二分查找;
6.索引原理:表中a、b、c三个字段都有独立索引,查询语句"select * from t where a = ? and b = ? and c = ?"是否都走索引。
7.联合索引原理,为什么会有断桥查询;
8.linux epoll、poll、select原理考察;
9.一些简单的SQL查询笔试题;
第五轮:
聊聊职业规划,离职原因,个人优缺点、住址、etc;
面试岗位:Java开发工程师
面试时间:2018年3月8日
面试地点:百度科技园
面试时间:16:00 ~ 19:00
面试轮次:3轮技术
第一轮:业务逻辑,简单算法:
1.两个List,分别存[a,b,c,b],[a,c,d,d],写一个方法返回去除交集的集合;
第二轮:JAVA知识点考察:
1.JVM内存模型、GC内存划分,GC算法;
2.JVM启动过程过程,描述类加载过程(双亲委派);
3.SpringMVC原理,发起一个请求在框架中的执行过程,SpringMVC相关注解的使用(包括@ResponseBody,@RequestMapping,@Controller等),知识点比较细致;
4.(简历中有分布式锁)分布式锁的实现过程,包括异常、超时等问题;
5.redis与memcache区别;
6.linux命令:如按照指定格式筛选日志,高亮显示,awk等;
7.java个版本特性;
8.jvm内存结构与内存模型。(前者是指堆栈等,后者是指JMM,包括重排序、可见性等)
第三轮:
聊聊项目,聊聊工作;