面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
7 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

技术岗 · 企业:小米7 道 · 点击进入查看参考答案

简单C++
vector底层原理实现与扩容机制
结论:vector是封装动态数组的序列容器,底层连续内存,容量不足时按倍数扩容。要点:1.底层通常用三个指针:start(首)、finish(尾后)、end_of_storage(容量尾后)维护;2.扩容机制:当size…
🎤 腾讯 / 小米
简单Go
map 基本原理
结论:Go map是基于哈希表的引用类型,提供平均O(1)读写。核心要点:1.底层为哈希表,key经哈希函数映射到桶(bucket);2.冲突解决用桶内8槽+溢出桶链;3.扩容采用渐进式rehash,避免停顿;4.key…
🎤 小米
简单后端
RESTful 风格API设计规范
结论:RESTful基于HTTP方法、资源URI、状态码和JSON实现无状态统一接口。要点:资源用名词复数URI如/api/users;方法GET查、POST增、PUT改、DELETE删、PATCH部分改;状态码200成…
🎤 小米
中等C++
简述智能指针种类以及使用场景
结论:C++智能指针主要有unique_ptr、shared_ptr、weak_ptr。unique_ptr独占所有权,不可拷贝只能移动,适用单一所有者资源管理;shared_ptr引用计数,多指针共享对象,计数为0释放…
🎤 小米
中等C++
类成员初始化顺序?
结论:C++类成员初始化顺序固定为:静态成员(程序启动)->基类构造->按声明顺序初始化非静态成员->构造函数体。要点:1)静态成员变量在首次使用前初始化,且只一次;2)基类构造函数先于派生类;3)非静态成员按在类内声明…
🎤 小米
中等Go
golang 切片原理
结论:切片是引用类型,底层为数组的抽象,结构体含指针、长度、容量。核心要点:1.切片头包含ptr指向底层数组,len当前元素数,cap从ptr开始数组总长,cap(s[a:b])=cap(s)-a;2.切片操作s[a:b…
🎤 小米
中等操作系统
select、poll、epoll的区别?
结论:三者均为IO多路复用机制,epoll性能最优且支持海量连接。对比:select使用位图存fd,默认1024限制,每次拷贝全量fd到内核并轮询O(n);poll使用链表存fd无数量限制,但仍需遍历拷贝O(n);epo…
🎤 小米
题目整理自公开面经,答案由校招宝自研生成,仅供参考