“大三在读生”都四面成功拿到字节跳动Offer了,你还有什么理由去摸鱼?
博主大三在读,投的是字节 Data 的后端开发实习生,base 杭州。 时间线:21年
-
4.12 投递
-
4.13 安排简历筛选
-
4.14 安排面试
-
4.19 16:00 一面
-
4.22 16:00 二面
-
4.23 8:00 三面
-
4.23 16:00 HR 面
-
4.23 16:30 Offer
一面
-
先做了自我介绍
-
问论文情况(简历写了) 做的是什么 主要负责了哪些工作 数据集是哪里来的 带来的提升是以什么为基线去比较
-
来做个题吧:有向图判断是否有环 写了个 DFS,写完示意面试官还剩建图的部分,面试官说建图可以不写 提问代码细节 我的代码是用邻接矩阵存的图,提问还可以用什么结构存?(邻接表)
-
再来做个题吧,面试官挑了一会儿以后说感觉这个题你应该也能写出来,就不做了。
-
多线程相关: 有遇到过多线程的情况吧,假设 A 线程和 B 线程都想访问一个资源,如何保证线程安全?(答:加锁) 有些线程只想读资源不想写资源,如果简单粗暴地加互斥锁的话性能不太好,有什么办法优化一下?(答:只对写操作加锁,读操作不受限制) 多个线程,部分是写,部分是读(举例:A 线程写、B 线程读、C 线程写),他们的执行顺序应该是怎么样的?(这一块一直没有抓住面试官想问什么,感觉答的不好)
-
挑一个项目来介绍一下 讲到了项目中做的一个改进,跟缓存有关。 Redis 的表结构有了解吗?(dict 存各项数据,expires 存过期时间) 爬数据这个环节是怎么定期更新的?是定期自动执行还是需要你手动去操作? 一台服务器的话,会有负载压力吗?如果要承受更大的 QPS,你还有什么想法去优化吗?
-
数据结构你熟悉吗?(答 特别复杂的数据结构了解不深,但基本的数据结构还是比较熟悉的)面试官说那我就不细问了。
-
我们还是来做一道题:面完查了一下是 LeetCode 81。 不用写,说思路就可以。 之前没接触过,面试官引导了一下,想了一会儿,说了一下大致思路 问了一下细节,又想了一会儿,面试官说今天我们面试蛮久了,开始反问环节。
-
反问环节 问部门技术栈,面试官说我是别的部门来交叉面的,我到时候不一定是在他的部门,然后介绍技术栈是 C++/Go,少量 Python 写一些脚本。 问面试官他这边知不知道大概什么时候会有结果,面试官说他这边写面评,后续需要 HR 安排。 面试官介绍了一下他这边部门的情况。
面试官看起来挺年轻的,很友善很有耐心,面试体验贼好。总体感觉问的不太八股,还是比较靠理解。
二面(1h)
-
自我介绍
-
介绍项目(实验室应用平台)
-
有几个实验室
-
登录的方案是怎么做的
-
签退的功能是怎么实现的
-
如果有两个用户想要同时预定最后一个座位,如何保证不出错?
-
Redis(项目中用到了)
-
有设置超时时间吗?
-
Redis 的超时是怎么实现的?(答了下表结构)
-
Redis 超时的时候它是怎么操作的,是扫整张表吗?(答 惰性删除和定期删除)
-
具体的策略有哪些,比如你有了解过 LRU 吗?(答了 8 种淘汰策略)
-
你知道 LRU 怎么实现吗?(答双向链表,双向链表+HashMap)
-
提到了 HashMap
-
哈希冲突怎么解决
-
红黑树的查找效率是多少
-
哈希查找效率是多少
-
介绍另一个项目
-
爬虫是怎么做的
-
数据存在哪里
-
如果用户读文件的时候,程序刚好在往里面写数据,怎么保证正确性?
-
有用过 Go 吗?(了解过一些,但没用过)
-
接触过 RPC 吗?(了解过,但没实际写过)
-
知道 ProtoBuf 吗?(简单说了一下)
-
我们来写个题吧
-
树状 DP
-
说了一下大概思路,但是状态转移方程写不出来
-
面试官很耐心的引导了一下,但最后还是没写出来,慌的一批
-
反问环节,问了下部门技术栈
-
问我是否只能接受 base 杭州
感觉二面面试官抓问题很精准,面完真的觉得自己凉了,结束半个小时以后 HR 电话通知三面。
三面(1h)
-
什么时候开始接触编程的
-
你的专业不是 CS,对计算机基础了解程度如何
-
实习时间怎么样
-
来写个题吧(实现一个 HashTable,要求可以运行)
-
如果让你写一个 HashTable,你觉得需要有哪几个 API
-
面试官提示我先把 API 写了(先把 API 定下来,稍后写具体实现),然而我没 get 到面试官的意思,以为是要我先写核心部分代码。慌的一匹。
-
之前没在牛客上跑过自己定义的类,卡了一会儿问面试官能否本地 IDE 跑给他看,面试官说不行,考验一下解决问题的能力。最后还是摸索出来了。
-
跑了几个基本的测试样例。
-
面试官要求和 Java 自带的 HashMap 对比一下。
-
面试官要求随机生成一些 TestCase 来测试正确性,这块写的不是很好,跟面试官说了一下,面试官说你知道问题在哪儿就可以。
-
反问环节,问面试官从今天的表现来看,还有哪一块需要提升。
面完又感觉自己凉了,结束一个半小时以后 HR 电话通知 HR 面。
HR 面(10min)
-
自我介绍
-
什么时候可以来实习,可以实习到什么时候
-
有没有考研打算
-
有没有在看其他公司的实习机会
-
之前三轮面试的体验如何
-
面试官有没有介绍过部门在做的工作?
-
看你之前有一些研究的经历,是对这些比较感兴趣吗?
-
反问环节,问了下后续流程。
面试题文档分享 下面先给大家上一个Java面试神技宝典,里面的知识点非常全面,而且是21年最新版的!
由于整个笔记比较全面,内容相当的多 ,这里仅展示面经中的面试真题, 需要完整版pdf文档资料的点击此处即可免费获取全部!
阿里巴巴高并发秒杀架构
XA两阶段提交(2PC)
分布式
CAP三进二和Base定理
中间件
由于整个笔记比较全面,内容相当的多 ,这里仅展示面经中的面试真题,需要完整版pdf文档资料的点击此处即可免费获取全部。JMS消息服务
搜索引擎
数据库
MyISAM vs InnoDB
设计模式与实践
OOP五大原则SOLID
数据结构与算法
标记-整理算法(Mark-Compact)
阿里巴巴面试真实场景还原
配置中心之可用性改进
由于整个笔记比较全面,内容相当的多 ,这里仅展示面经中的面试真题,需要完整版pdf文档资料的点击此处即可免费获取全部。


