一面
理论部分
- 介绍一下哈希表,hash函数如何实现,如何处理冲突的情况?
- 介绍一下平衡二叉树、二叉查找树?
- 叙述一下二叉树前序遍历的迭代实现思路?
- 快排、归并排序、堆排序等排序算法的实现思路,时间复杂度,空间复杂度?
- 给一个乱序的数组,空间复杂度为o(1)的情况下如何快速建堆?
- 快排一趟排序内做了哪些事情,结束的条件是什么?
- HTTP和HTTPS的区别?
- HTTPS建立连接的具体过程?
- MySQL范式?
- 介绍一下MySQL的索引?
代码部分
- 查找链表中倒数第K个节点 LeetCode 930
- 判断入栈序列于出栈序列是否匹配 LeetCode 352
二面
理论部分
- 为什么进程进行上下文切换时的开销比线程进行上下文开销大?
- 虚拟内存与物理内存如何进行映射?
- LRU在什么情况下命中率高?
- LRU如何实现?
- LRU为什么用了哈希表和双向链表?
- 如何使用银行家算法解决哲学家问题?
- 面向对象的六个原则?
- 里氏替换原则具体问题分析?
- 简单工厂模式如何扩展?
- 说一下迭代器模式?
- 什么是DNS劫持,如何进行防范?
- 代码->机器码过程中的编译阶段具体做了什么?(应该是句法分析、语法分析、语义分析吧!)
- HTTPS绝对安全吗?如何进行防范?
总结
虾皮的面试体验非常棒。面试官很好,交流互动体验很好,两位面试官也指出了我面试中没有回答好的一些问题并细心给我讲解。
全部评论
(2) 回帖