简介
[小米]面经,60min
因为是我们大学的校友推荐的简历,也许没有笔试吧,只有两次技术面试。
一面
面试问题
自我介绍
计网:
- 1.我看你还做过不少项目(简历),说一说你做的仿QQ聊天是怎么实现的吧?
- 2.计网分为几层?说一下http怎么实现的?
- 3.http和https有什么区别?
- 4.说一下对称加密和非对称加密的区别?
- 5.TCP的三次握手,为什么是三次?
JAVA和操作系统
- 6.知道JVM吗?(我说不熟悉,他就没再往下问了)
- 7.知道操作系统吗,说一下进程和线程的区别?
- 8.说一下线程之间是怎么通讯的?
- 9.用过什么框架吗?我说的单例模式、抽象工厂模式、观察者模式。手写一个单例模式(懒汉式、饿汉式)。哪一个是线程安全的?
- 10.平时java用过什么集合?我说的map、set、list。问这些都是线程安全的吗?(当时我忘记了,他就让我分析一下hashmap是不是线程安全的,蒙对了)
算法 - 11.平时了解什么算法吗?我说了挺多二分、DFS、BFS、DP、最短路等等。他说让我写一个非递归的二叉树先序遍历。(当时没有写出来,但是我先把思路说出来了。我傻了)
- 12.那你对二分比较熟悉,给你一道二分题吧
总结,总的来说小米的面试官还是很和蔼的,遇到不熟悉的问题就告诉他,他会给你换问题,还会给你解释问题的答案,不要不懂装懂,我比较菜,两道算法题都没有通过测试样例,但还是给了