字节 客户端 XR Framework 一面凉经
- 不需要自我介绍直接开始。原码反码补码的定义。
- 0.1在计算机中的表示。用严谨的数学证明回答。(*a*2^(-1) + b*2^(-2) + ..... = 0.1 ,求解a,b,c的值)
- 操作系统中进程间的通信方式有哪些。
- 管道的应用场景,举例说明(父子之间进程通信)
- 消息队列的底层实现原理。
- 共享内存依靠什么保证资源的安全访问。(信号量)
- 信号量中的P、V操作是如何进行的?假如当前资源基数为零,请求资源的进程的状态是什么?(挂起状态)
- 代码到可执行过程中,经过了哪几步?每一步做什么?编译期,产物是什么?
- 说一说STL的定义?(六大组件,容器、算法、 迭代器、仿函数、适配器、空间配制器)
- 那么迭代器有什么作用?为什么要有迭代器?(提供统一的访问方法)
- 适配器是什么?有什么作用?
- 容器中,比较熟悉哪些?(数组,动态扩容数组vector,map,hash_map, set)
- vector和array 的区别?
- map 和set的底层数据结构是什么?(红黑树)访问复杂度是多少?(logn)为什么是这个复杂度?如何保证?(说一下红黑树的原理)
- 哈希表的原理?有哪些实现方法?(开放定址法,链地址法)开放定址法中,插入和更新操作的实现细节?(面试官建议我回去翻翻书)
- 两道手撕,都是力扣题。
- 第一道:求一个无序可重复数组中,最大值和最小值,要求尽可能比较次数少。(折半数组,互相比较)
- 第二道:求一个数组中,未出现元素的最小正整数。(原地哈希)
已经凉了,给还在战斗的牛油们,复习复习。
#字节##面经##客户端#