小米 软件开发工程师-C/C++ 一面面经

25min - 自我介绍 - 面试官自我介绍以及部门介绍(多媒体部门-手机,base 南京) - C++ 三种智能指针 - static(全局/局部/类) - struct & union(内存分布) - 虚函数(多态...) - 给一个int型正整数,输出内存布局中 1 的个数 - 讲一下对小米的印象 - 反问 1:工作强度 - 反问 2:技术栈是否匹配 - 反问 3:一共几轮面试

#发面经攒人品#
全部评论
没手撕?
点赞 回复 分享
发布于 09-07 19:39 上海

相关推荐

📍面试公司:小米🕐面试时间:8.21💻面试岗位:c++开发工程师❓面试问题:1.自我介绍2.C++中malloc和new的区别?delete和delete[]能混用吗?3.什么是虚函数表?多重继承下的虚函数表结构是怎样的?4.智能指针有哪几种?shared_ptr的线程安全性如何?循环引用怎么解决?5.如果类中有const成员或引用成员,能否自动生成移动构造函数?为什么?6.std::vector的扩容机制是什么?扩容时代价多大?如何避免频繁扩容?7.什么是内存对齐?为什么需要内存对齐?如何手动控制结构体的内存对齐?8.如何使用Valgrind或ASAN排查内存泄漏和越界问题?你在项目中用过吗?9.说说std::map和std::unordered_map的底层实现及时间复杂度10.如何用GDB调试死锁?thread apply all bt 这个命令有什么用?11.进程和线程的区别?进程间通信有哪些方式?哪种效率最高?12.线程同步有哪些机制?std::mutex、std::lock_guard、std::unique_lock的区别?13.什么是虚假共享(False Sharing)?如何避免?14.讲一下TCP拥塞控制机制?TIME_WAIT状态的作用是什么?15.Epoll的水平触发和边缘触发有什么区别?使用场景是什么?16.手撕:实现一个线程安全的环形队列(支持多生产者多消费者)17.手撕:二叉树锯齿形层次遍历(Zigzag Level Order)18.项目深挖:🙌面试感想:面经题并不刁钻,主要以项目为主,问了很多项目的细节
查看18道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务