面试复盘|小米软件开发工程师C++ 二面

面试时长:40分钟左右

  1. 开局自我介绍
  2. 问我web服务器项目,怎么设计的高并发
  3. epoll怎么使用的
  4. 如何设计的有限状态机,如何解析的HTTP协议
  5. 日志系统
  6. 有几个地方用到了请求队列
  7. 有临界资源时候有几种处理方式
  8. 对于无锁编程的理解
  9. 对我的论文特别感兴趣,详细问我最近论文的思路,如何实现的,如何集成的,如何发表的
  10. 问了我生成对抗网络的原理
算法题:
从中序和后序遍历序列里面重建二叉树

反问:部门技术栈,做什么的。面试官表示,他们目前是做网络(感觉面试官说的有点细了,说了很久,我还是泛化一点吧)的,需要应聘者会搞科研,会读论文,会把论文里面的实现用C++写出来。并且也是和计算机网络相关的一些。对了,,,面试官说我的简历,让我去其他地方试试机器学习算法岗之类的(我???这是不要我了吗)。。。过会说我的简历跟他们的工作很契合,,,许愿下一面吧~
#面试复盘##小米##面经#
全部评论
小米不就二面吗?
点赞 回复 分享
发布于 2021-09-07 17:12

相关推荐

04-01 21:25
已编辑
大连交通大学 Java
1. 自我介绍2. 项目深挖        •  一共开了几个进程?• “你用的是微服务的架构,那多模块间的通信是用的什么,具体的HTTP地址是怎么写的”○ “HTTP请求”(地址怎么写没太理解意思)• 还有几个想不起来了3. 八股文• 介绍一下网络模型○ 说了TCP/IP4层和OSI的7层,4层中每一层的作用,网络层和传输层的协议• HTTP在网络模型的那一层?○ 脑子短路了,说在传输层(实际在应用层)• TCP和UDP的区别?○ TCP是面向连接的,有可靠性和有序性,功能有拥塞控制和流量控制,UDP没有这些功能,但传输速度快• 适用的场景?○ TCP适合邮箱等数据可靠的场景、UDP适合游戏等要求速度快的场景• 如果让你设计一个聊天系统,你会采用哪个?○ 答的TCP(应该是TCP和UDP混合)• 如果用UDP会出现什么样的情况?○ 接受不到数据、乱序?• 进程和线程的区别?(实际上有七个角度可以说:资源、调度、内存、开销、通信、崩溃、场景)○ 进程包含线程,进程有自己独立的内存空间(栈、堆、数据段等)、线程只有栈空间(其实还有一个寄存器)○ 线程间通信直接在内存共享通信,进程需要通过IPC管道进行通信• 进程间如何通信?○ 说了有个共享区(是IPC的其中一个)• 数据库的数据存储结构是怎么样的○ InnoDB和mys,B+树和B树,B+树的数据存储在叶子节点、B数存储在所有节点(太片面了)• 线程池的核心参数有哪些?○ 核心线程数、最大线程数、队列、拒绝策略• 如果是B+树那查询的整个流程是什么○ 先通过根节点确定子节点,然后继续找,直到叶子节点• 为什么B+树是三层?○ 没回答上来,说的三层已经可以存储百万级的数据满足一般需求• 哈希表了解吗?请解释一个java中哈希的操作○ HashMap的put方法,先是hashCode方法、然后map中的hash、按位与、存入元素,引出哈希冲突和扩容机制,链表和红黑树的转换(低于6转回链表,超过8转成红黑树)、1.8以前是头插法、1.8以后是尾插法等等• 为什么是按位与?他是做什么的?○ 计算hash桶的位置,存入数据的依据• 方法异常的处理方法?如何优雅的处理?○ Try-catch方法• 如何在异常的时候释放资源?○ 手动释放和return 方法结束自动释放局部变量(错误,应该是try-with-resources、finally)• long类型所占的字节大小,范围是多少 ?○ 8字节、-2的63次幂到正的-1(这里我答错了)• 其他的基本类型都有什么呢?○ 一共八个,byte、char、boolean、short等4. 算法:数组中求严格递增的子序列的长度• 在letcode上做过,很快就做出来了,解释代码 二分查找5. 反问• 总结:问的都了解但说的不够细致,项目经验不够多,感觉希望不大。#牛客AI配图神器##面试##字节#
查看22道真题和解析
点赞 评论 收藏
分享
评论
2
14
分享

创作者周榜

更多
牛客网
牛客企业服务