KEEP--Java 开发工程师--一面,二面已过,等HR面
一面9.4
1.1自我介绍
a)你读研的时候实验室有什么课题吗?
1.2项目
1)第一个项目讲一下
a)大概介绍一下你做这个项目的背景和目的
2)第二个项目你讲一下
a)落地的时候准备用什么语言写?
1.3八股
1)c++和数据结构
a)你主要用C++比较多吗?那你知道你应聘的是Java还是c++?
b)数据结构里有哪些数据结构支持查找的?
c)哈希表的散列冲突是怎么回事?常见解决方法有什么?c++哈希表的扩容是如何扩容的?
d)b树和b+树讲一下
e)你了解哪些常见的排序算法?我要找出第k大和第k小的元素,你觉得那种算法可能更合适?还要其他算法吗?
2)操作系统
a)操作系统内存管理,这个内存分配是怎么管理的?你说一下这几个分配内存的算法?
b)select,poll,epoll依次解决了什么问题
c)procator模式和reactor模式你是一下?linux没有自己的异步I/O吗?那这个异步I/O和你这个proactor有什么区别吗?
d)epoll的边缘触发和水平触发有什么区别?
3)redis
a)redis渐进式hash,你说一下?
b)redis持久化为什么是一个后台进程去持久化?为什么用进程而不是一个后台线程去做持久化呢?
c)redis集群你讲一下?
d)哨兵是怎么回事?你刚说哨兵选主节点,那要是哨兵挂了怎么办?如果一个哨兵挂了(leader哨兵挂了),那谁来负责选取主节点呢?其实想问的就是比如三个哨兵,他们之间是无差别的吗,还是说有中心结点?3个哨兵结点是怎么通信的呢?
e)redis 本身的集群架构你了解吗?哨兵是之前的,之后是没有哨兵的?
f)redis 的缓存一致性你说一下?
4)计算机网络
a)你用LINUX网络编程主要是用那套API来进行?Unix
5)mysql
a)事务的ACID属性是怎么回事?
1.4算法题
二面9.4
1.1自我介绍
a)你们实验室是做什么的?你自己做哪一块的?
b)大学生创业创业比赛是什么?
c)你讲一下学习委员做了什么?
d)学习成绩排名如何
e)你没有出去实习过?为什么呢?
1.2项目
1)讲一下第一个项目
a)是实际项目,还是练手的?
b)这项目你测试过吗,可以承受多大的并发?你是怎么测试的呢?是静态页面吗?
c)如果你要提高你这个项目的并发的话,你要怎么做?
2)介绍一下第二个项目
a)你这里关键技术是什么?
b)你这个轨迹优化应该有很多方法可以做吧?你为什么要用你这个算法吗?
c)除了轨迹优化,你还有什么工作量吗?你对这个算法做了哪些优化?
d)你这个优化的测试是怎么做的?
e)这个项目用的语言是什么?