字节跳动暑期实习面经
·138 words·1 min
Table of Contents
背景:中流985计科大三,无实习经历,非ACMer,做过OS、NLP相关的项目
一面 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城市。到时候你能来实习吗?
反问
- 福利制度
- 后续流程