面试官人真的非常非常好!
自我介绍、项目介绍、手撕代码、反问沟通
问:自我介绍
答:正常说基本信息
项目介绍
答:我重点强调了我没做过什么软开的项目(感觉比较尴尬)
那你为什么选择报软开岗位呢?(更尴尬了)
答:就想留在西安但是只有软件开发岗,有了解过c++和操作系统的一些知识,后面上手应该也会比较快
没关系,那还是介绍一下你的项目,不过要尽可能让我能听懂
答:正常的项目介绍
八股
1.问:说说为什么需要面向对象编程呢,优势是什么?
答:我可能只知道c++的继承封装多态,对于为什么要面向对象编程不太清楚
2.问:那你了解Linux内核吗?
答:不了解我对操作系统只了解一些内存管理,进程线程的相关知识
3.问:进程之间的通信方式有哪些?
答:(这个我会),管道之类的就不展开了
4.问:Linux的内核内存分布是怎么样的?
答:用户态从低到高,代码段数据段bss堆文件映射区栈
5.问:bss与数据段的区别是什么?
答:bss存放的是未初始化的全局变量与静态变量,数据段是初始化后的全局变量和静态变量
6.问:堆和栈的区别是什么?
答:栈一般是程序中运行时对象和基础变量所在的位置,堆主要是程序员申请的一块空间
7.问:操作系统中的内存管理是怎么管理的?
答:段页式管理,稍微讲了讲为什么会有段有页
8.问:kmalloc和vmalloc的区别?
答:我不太清楚,我只知道malloc使用的是brk和mmap的系统调用
手撕代码
LeetCode322题 零钱兑换 二十分钟 测试样例178/189 没a出来
反问
问:有没有一对一导师培养?
答:有
问:西安小米规模?
答:目前大概一百多人,还介绍了三个方向,芯片功耗,数据安全和智能(具体智能什么的忘记了)
问:后续面试流程?
一轮技术终面+HR面
总结:其实我好多都不太会,不过面试官都耐心的跟我解释为什么要这么做,也没有因为我没有软开的项目就对我冷嘲热讽,手撕没全a也鼓励我说没事,中等题一下子要写全对也不是那么容易,总之不管过没过,都十分感谢面试官!完美的面试体验!!