字节跳动-电商后端-暑期实习面试(已拒Offer)
- 面试岗位:电商后端 暑期实习
- 面试形式:技术面均通过牛客网进行远程面试,HR面为电话面试
- 面试时间:三月末-四月初,具体日期不记得了
一面
开场
- 面试官介绍部门情况及自身情况
- 自我介绍。
问答
- 挑一个STL的容器讲一下吧:
- STL中有没有哈希容器,讲一下?
- STL的哈希表是线程安全的吗,会出现哪些问题?
- 项目做了那些工作,都是怎么实现的?
select
和epoll
的区别?- MySQL有哪些索引?
- Redis为何针对同一类型实现不同的底层结构?
- Redis如何实现分布式锁?
- Redis跳跃表了解吗?
设计
- 如果要你实现微博或者朋友圈的功能,数据库需要那些表?具体功能要求为
- 用户可以关注其他用户
- 用户可以发微博
- 用户可以在主页中看到关注用户的动态
- 写一下查询时间线的SQL
- 用户量增加之后如何优化?
- 如何为用户生成全局唯一的ID?
- 如何实现
atomic
?
算法
- 二叉树的锯齿形层序遍历(LeetCode #103)
二面
开场
- 自我介绍
项目
- 针对做过的项目问了一些问题
问答
- HTTP报文的结构?
- HTTP首部字段?
- HTTP主体中能放哪些内容?
- TCP中TIMEWAIT了解吗?作用,时长,优化等等?
算法
- 微信群里抢红包算法(m元,n人),返回一个红包金额数组
- 每个人(前n个人)都能抢到钱
- 获得的金额都是随机的,但随机范围最大化(有机会获得可能的最多金额)
- 机会均等(第一个人和第n个人抢到相同金额的概率是一样的)
三面
开场
- 自我介绍
项目
- 问了很多关于多线程工作的内容
- 阻塞队列的实现
- 线程池的实现
- 日志功能的实现
- IO密集型线程和计算密集型线程的区别等
问答
- 学过哪些专业课?
- 用户态和内核态了解吗?
- 进程和线程了解吗?
- 听说过死锁吗?有哪些常见的死锁情况,如何解决?
- 介绍一下协程?
算法
- 对单链表进行快速排序(LeetCode #148)
总结
面试总体难度不大,一二面的问题都是常见的八股文,三面重点考察了项目和操作系统的内容。
#实习##面经##字节跳动##Java工程师#