Skip to main content
A cup of beer
  1. Posts/

字节跳动暑期实习面经

·138 words·1 min
Abstract purple artwork
Photo by Jr Korpa on Unsplash

背景:中流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城市。到时候你能来实习吗?

反问

  • 福利制度
  • 后续流程