本渣在内推的时候一直没收到消息,最后发现公众号状态变岗位不合适。。。简历被刷的命,老老实实准备正式批。下面是面试时被问到的问题
一面
- 自我介绍
- 问了项目
- 网站多用户访问时会出现什么问题?如何优化?
- 给了个场景,在记录有用户上线下线的日志文件中查询某个时间点的在线人数。时间复杂度多少,能不能优化?
- 一句话说清楚快排,快排如何避免最坏情况?还能不能再优化?
- 数据库索引建立
- MyISAM和InnoDB的区别,效率上的差异,锁的差别
- 虚函数和纯虚函数的区别
- const和#define的区别
- 程序代码修改之后,如何实现热重启?
- 堆栈的区别
- const常量存在哪里?#define呢?会不会在栈上?
- 有没有什么想问的?
一面部分问题答得不好,面试完之后面试官想把简历还给我,那时候都懵了,不过在下一秒又收了回去,说简历跟网站上的好像有点差别,顿时又感觉看到了希望。
一面后公众号状态变为复试中,不过一直没消息,过了几天之后突然接到二面面试官的电话。
二面
- 自我介绍
- 学过哪些课程?
- 操作系统了解吗?进程与线程的差别
- 线程除了修改全局变量之外,还能怎么同步?
- 共享内存底层是怎么实现的?
- Linux如何查看进程?
- top命令都能看到哪些信息?
- Linux是怎么创新新进程的?fork函数的返回值?
- 学过计算机网络吗?五层协议栈,get和post的区别(知道我没上过计网课之后就没问了,当时就觉得凉了)
- cookie的作用
- 有哪些常用的排序算法?讲一下快排
- 快排会出现什么问题?为什么会栈溢出?
- 如果让你实现快排,你会怎么做?
- 学过哪些编程语言?
- C++的多态是怎么实现的?有没有想过多态为什么能那样实现?编译时多态,运行时多态
- 平时代码写得多吗?
- 在什么操作系统上写代码?
- socket编程写过吗?
- 平时怎么学习编程的?
- 有看过哪些源码?
二面之后状态一直没有改变,过了几天之后,果不其然,变成岗位不合适,败给计网和操作系统。。。还是需要再学啊。