【一面挂】小米 自动驾驶 后端开发 日常实习 一面凉经

今天又是积累一面凉经的一天,不过昨晚上睡晚了,没睡好,今天确实状态不行

总体流程

  • 2022.7.6 投递简历(boss上投的,之前不知道是自动驾驶的)
    • 然后火速约了面试,因为之前有了面试,所以约在下周二(2022.7.12)下午
  • 2022.7.12 14:00 一面
    • 此后一周多没消息,应该是凉凉啦
  • 2022.11.11 10:48 感谢信
    • 我面试完整整4个月才发感谢信,你一周不给我结果我也知道是挂了,我早都去别家了,要不要这么恶心人吧?

一面(50min)

面试官给人比较严肃的感觉,还说了下纪律(不要切屏等等,我咋会不知道呢)

自我介绍

八股/项目(40min)

  • 除了mysql,还了解什么数据库?
    • 非关系型数据库,redis
    • 作死之路正式开始
  • 为什么要做RPC?RPC在什么情况下会用到?
    • 八股文
  • protobuf和json相比,作为序列化方式的好处?
    • 八股文
  • 你实现这个RPC框架,是为了提升性能吗?
    • 侧重功能实现,还没压测
  • 怎么衡量RPC框架的性能?
    • 并发量、qps
    • 内存资源占用?
  • HTTP和RPC的区别
    • RPC是一个完整的远程调用方案,HTTP只是个应用层协议
    • grpc用的http2,但是其他RPC框架一般都用自定义的协议
  • 为什么要使用自定义协议?这比常见RPC框架的通信协议好在哪?
  • 知道SQL注入吗?
    • 说了下概念
  • 服务端怎么解决SQL注入?
    • 八股文
    • 麻了,失去记忆了,也想不出来
    • 只说了服务端的输入校验(例如正则表达式),不要拼接sql,但是又继续深挖
  • 什么是线程安全?
    • 解释了概念,解释的有点模糊
  • STL有什么容器是线程安全的吗?
    • 并没有
  • vector为什么不是线程安全的?让举个例子
    • 就说如果涉及到任何更改容器的操作,都可能发生线程不安全的问题
    • 说(编)了一些,但是面试官没信服
  • 怎么解决这个问题?
    • 加互斥锁
    • 其实还有别的方法,同学被问到过,赶紧复习一波
  • 互斥锁、条件变量、读写锁的区别(感觉是高频问题)
    • 八股文
  • 互斥锁的底层实现
    • 布尔值,0表示没锁,1表示锁上了
    • 扯了下test and set等原子指令(TSL)
    • 如果发现是锁上的,就让内核调度另一个线程,当前的线程就先停下了
    • (说的过程中还因为电脑没电,掉线了,凉上加凉)
  • C++怎么使用互斥锁
    • C++11提供了mutex,加锁的话可以用 lock_guardunique_lock 实现自动加锁和释放锁
  • 知道 shared_mutex
    • 不知道(C++17的特性,确实没用过)
  • MySQL的索引是什么数据结构?怎么查找的
    • B+树,八股文
  • MySQL怎么查看SQL语句是否走了索引?
    • 通过 explain 命令查看
  • like能走索引吗?
    • 要符合最左前缀原则。如果左边是具体的,右边是通配符,才可以
    • 如果最左边是通配符,右边是具体的,最少也得扫描整个二级索引
  • 很常见的一个场景是手机尾号匹配,这肯定是最左边是通配符,右边是具体的那种情况,这种应该怎么才会让它走索引?
    • 八股文,可以多增加一列,倒序存储
  • mysql的undo log和binlog的用途
    • 八股文
  • 知道mysql的读写分离吗?
    • 不清楚
    • 麻了,赶紧看八股文
  • redis的事务?是否支持回滚?
    • 不支持,不支持原子性
    • 通过multi开启事务,打包一系列命令,通过exec执行
    • 这里面的多个命令并不是原子的,单条命令才是
    • 总之不太好用
  • redis缓存数据和mysql数据库数据的一致性
    • 先更新数据库,再删除缓存(旁路缓存模式)
  • 知道redis的延迟双写吗?
    • 不知道
    • 麻了,赶紧看八股文

算法题(10min)

牛客,核心代码模式

  • 跳跃游戏2(LeetCode 45
    • 说了下贪心的思路(差点想不出来,然后我就说想一会,实际上是组织语言)
    • 然后问,感觉这个思路不好想(可能是被看穿了做过了),就问,能用动态规划吗?
    • 我就说,可以是可以,但是一般来说,贪心法的问题,用动态规划解决,可能时间复杂度会较高
    • 然后问贪心法的时间复杂度(O(n)O(n)
    • 然后让我写代码(吓死,还以为让写动态规划,不知道啊),说10min能搞定吗
    • 我说,看情况吧
    • 结果不到5min,秒过

反问

  • 投之前不知道是自动驾驶的,想了解部门的做的业务,编程语言
    • 有很多数据要处理,主要python,少量C++
  • 还有什么技术栈吗?
    • 挺多的,有mongodb,es等等(感觉这个部门偏crud,所以主要问数据库)
  • 怎么培养实习生?
    • (面试官说了,我略了)
    • 23届没hc了,24届的话还有hc,如果能实习满3个月,可以提出转正
    • 麻了,24届战役这就打响了?今年形势太差,已经预料到明年是啥结果了

总结

挖出了很多不会的点,八股没背熟的地方,尤其是数据库这块。我数据库这块确实掌握的不行(不是我主攻的内容),相比os、计网。(果真,一问到数据库,我就被问穿了)

算是说不知道、不清楚,最多的一次面试,就当作查漏补缺吧

#日常实习##后端开发##小米、##C++#
全部评论
bettygirl yyds!!
2 回复 分享
发布于 2022-07-22 16:09
24就能提出转正了?
1 回复 分享
发布于 2022-07-22 07:08
大佬 八股文是啥呀😥
3 回复 分享
发布于 2022-07-22 02:28
欢迎投递zoom😁,我的帖子有内推链接
点赞 回复 分享
发布于 2022-07-22 07:26
八股文可以分享吗😄
点赞 回复 分享
发布于 2022-07-24 08:04
要求这么高吗
点赞 回复 分享
发布于 2022-10-31 17:36 吉林

相关推荐

评论
10
57
分享
牛客网
牛客企业服务