字节 暑期实习 IOS开发 技术面+HR面 面经
一面 2022.3.8(1h20min)
(自我介绍+问项目 30min)
项目深挖
-
线程共享进程的什么资源?
-
如何判断栈帧的大小?
-
寄存器如何传递参数?何时传递参数?
-
如果采用大小端存储,栈帧的结构有什么不同吗?
八股
-
tcp三次握手的各种参数?
-
tcp四次挥手的参数?syn是多少?ack(这里是小ack)是多少?
-
tcp seq number?
-
RSA算法的原理?
-
LRU算法的数据结构?如何实现?
-
C++如何从源文件生成可执行文件?
-
语义分析后如何变成汇编?
-
什么是内存泄露?
-
介绍一下shared_ptr、unique_ptr?区别?
算法
-
二叉树的镜像(剑指27)
-
合并两个无序数组,要求最低的复杂度
反问
-
主要业务?
- 可以零基础吗?
二面vs小组Leader 2022.3.11(1h35min)
(自我介绍+问项目 30min)
项目深挖
-
前端如何做到异步更新页面?
-
React hooks原理?虚拟dom原理?如何快速diff两个不同的dom?
-
介绍一种你熟悉的文件系统?
-
NTFS比FAT32好在哪里?哪个更安全?
-
磁盘清理在做什么?
-
可执行文件头的结构?动态链接库和可重定位可执行文件的头部区别?
八股
-
解释一下ddos攻击?
-
SYN攻击?
-
ddos攻击如何防范?
-
浮点数如何存储?讲一下IEEE 754标准?
-
map为何使用红黑树,而不用其他二叉树?
-
红黑树还有什么其他的使用场景?
-
什么是动态多态?
-
虚函数表是一个类有一份吗?
-
怎么找到虚表的入口地址?如何使用对象的指针手动调用虚函数?
-
全局静态变量在什么阶段初始化?
-
如何判断搜索树是否平衡?如何调整(四种情况)?
-
自旋锁是什么?
-
为什么IOS在最近的几个版本不推荐使用自旋锁了?(从线程调度优先级的角度考虑,会不会导致饥饿现象?)
-
实现一个生产者-消费者模型?
-
实现一个银行家算法?
-
如何判断非法内存访问?
-
https了解吗?TLS如何握手?如何保证安全性?
-
为什么CA证书就是安全的?了解自签名证书吗?
智力题
-
小明和家人四人夜晚出游,途经一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一 次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则以较慢者的速度为准。小明需花1分钟过桥,姐姐需花2分钟过桥,爸爸需花5分钟过桥,妈妈需花10分钟过桥。
-
问:最少需要多长时间过桥?(17分钟)
-
问:如果时间分别改成3分钟、5分钟、6分钟、8分钟呢?
-
英文环节(我懵逼??)
-
写算法题之前,IDE里面居然给我了一段英文API文档(约150字),让我翻译给面试官听
算法
-
跳台阶问题(剑指10)
-
面的时间太长了,本来还有题,就没写
反问
-
实习生考核标准?
- 好不好转正?
三面vs部门Leader 2022.3.15(1h10min)
面试官说:我们就是来探讨一些问题,你可以放开回答(笑里藏刀.jpg)
问题探讨(还是由简历项目出发的,问的可以说是非常深入)
-
说一下OS的进程管理如何实现的?
-
系统Shell如何读入并处理命令?
-
Shell遇到含有管道的输入如何处理的?
-
思考一下进程上下文切换过程中,如何做优化?
-
现在各大操作系统怎么实现上下文切换方面的优化?
-
探讨一下内核线程和用户线程的关系?
-
为什么线程必须得映射才能执行?
-
用户的单个进程和内核中的一个内核级线程之间有什么关系?
-
说一下操作系统和设备驱动程序之间的关系?中断处理程序呢?
八股
-
OS大礼包
-
分段管理和分页管理的区别?
-
分段管理在现代操作系统中有什么应用?
-
虚拟内存是什么?
-
进程的优先级调度算法?
-
-
C++11大礼包
-
我说我可能比较熟悉C++11以前的内容,11这块只是对智能指针有初步的了解(面试官跳过)
-
算法(可能算业务题?)
-
面试官:那写一下C++11以前的内容吧,实现一个tiny vector,要求实现大部分功能
-
如何实现你写的这个tiny vector的线程安全?(在正确的位置加锁)
闲聊
-
介绍业务 again
-
问能不能来实习,想不想转正
-
介绍转正情况
-
开始安利字节跳动
反问
- 有没有新人培养机制?
HR面 2022.3.20(23min)
因为这两周面试官们都比较忙,所以HR面约在了周日!面试官小姐姐辛苦了~~ HR面基本就是闲聊啦,氛围还是比较轻松的!
闲聊
-
什么时候实习?能实习多久?
-
自我介绍
-
你参加了字节跳动的训练营,可以简要介绍一下吗?
-
有做过类似的开发工作吗?
-
字节的面试体验如何?
-
如果给自己的面试表现打分,你会打多少分(0-10)?
-
为什么选择客户端开发?
-
你对我们的岗位有什么了解?
-
你觉得入职后会遇到哪些困难和挑战?
-
请用三个词描述一下你三年的大学生活?
-
打算考研吗?
-
目前在面哪些厂?有哪些offer?会选择字节吗?为什么选择字节?
-
说了下base城市。到时候你能来实习吗?
反问
-
福利制度
-
后续流程