小米面经(实习)

人生中的第一次面试,难免紧张

一面

晚上10点刚洗完澡就一个电话打过来,面试官正在下班的路上…
因为洗澡前投递的简历,没想到会这么快,啥都没准备,只好硬着头皮上。

  • 一些基本情况
  • redis使用过的数据结构(string、hash、list、set、zset)
  • redis list的数据结构(双向链表、计数器、void型的数据域指针)
  • 为什么使用websocket,php不用swoole怎么实现
  • 校园助手的数据库设计

大概就是这些,整体来说都是围绕者项目来讲的,电面的时长也比较短。
因为准备不充分,有些问题没有回答的很好,当时以为凉了。

二面

第二天抱着忐忑的心情,没想到上课途中又来了一个电话,然后约了当天下午6点的面试。
二面是通过微信语音面的,群里有两个人,一个是昨天面我的,还有一个是今天的。

  • 自我介绍
  • redis的数据结构
  • redis两种set有何不同(都是不可重复的,zset会根据设置的权重进行排序)
  • 正向代理与反向代理(扯到了负载均衡)
  • 设计一个负载均衡的实现(权值轮询、ip_hash)
  • 软负载和硬负载
  • mysql索引有哪几种(主键索引、组合索引、前缀索引)
  • 组合索引的命中问题
  • 使用索引的优缺点
  • 内连接、左连接、右连接
  • ACID事务是什么,举个栗子说明(感觉表述的不是很清楚)
  • linux命令,查看磁盘空间,查看cpu,显示匹配单词所在的行,文件无损合并无损拆分
  • 冒泡排序和快速排序的不同
  • 时间复杂度和空间复杂度的概念
  • 常用的数据结构
  • 队列和栈的区别
  • 树的先序遍历和后序遍历
  • 异步同步的区别
  • 接口的幂等性

整体感觉还是基于项目提到的知识点来问的,可惜的就是准备还是不够充分。
感觉面试官偏爱数据结构,算法问到的不是很多,关于操作系统、计算机网络方便的问题基本没问。
还有,我面的PHP岗,竟然一个PHP相关的问题都没有问我。

hr面

其实二面完的当天晚上9点30,一面的面试官就微信告知我面试通过。
可是当时沉迷学校的一个项目并没有看到,晚上12点才看到。

第二天睡觉睡到一半,hr打电话过来了,大概问了一些实习情况,然后说明了薪资水平。
这里有一点挺尴尬的,我是在实习僧上找的实习,邮箱忘记填了,然后hr小姐姐问了我的邮箱…

拿到的第一个offer,还是比较激动的。

后记

经过陆陆续续将近一个月的实习试水面试,最后还是选择了去小米。一方面是因为比较感兴趣部门的业务,一方面也是因为面试官(后来才知道是组里老大)比较亲切。总之,保持激情保持学习,加油。