字节 Data 后端实习一面(60min)
楼主大三在读,投的是字节 Data 的后端开发实习生。
时间线:
4.12 投递
4.13 安排简历筛选
4.14 HR 通知 4.19 一面
-
先做了自我介绍
-
问论文情况(简历写了)
- 做的是什么
- 主要负责了哪些工作
- 数据集是哪里来的
- 带来的提升是以什么为基线去比较
-
来做个题吧:有向图判断是否有环
- 写了个 DFS,写完示意面试官还剩建图的部分,面试官说建图可以不写
- 提问代码细节
- 我的代码是用邻接矩阵存的图,提问还可以用什么结构存?(邻接表)
-
再来做个题吧,面试官挑了一会儿以后说感觉这个题你应该也能写出来,就不做了。
-
多线程相关:
- 有遇到过多线程的情况吧,假设 A 线程和 B 线程都想访问一个资源,如何保证线程安全?(答:加锁)
- 有些线程只想读资源不想写资源,如果简单粗暴地加互斥锁的话性能不太好,有什么办法优化一下?(答:只对写操作加锁,读操作不受限制)
- 多个线程,部分是写,部分是读(举例:A 线程写、B 线程读、C 线程写),他们的执行顺序应该是怎么样的?(这一块一直没有抓住面试官想问什么,感觉答的不好)
-
挑一个项目来介绍一下
- 讲到了项目中做的一个改进,跟缓存有关。
- Redis 的表结构有了解吗?(dict 存各项数据,expires 存过期时间)
- 爬数据这个环节是怎么定期更新的?是定期自动执行还是需要你手动去操作?
- 一台服务器的话,会有负载压力吗?如果要承受更大的 QPS,你还有什么想法去优化吗?
- 讲到了项目中做的一个改进,跟缓存有关。
-
数据结构你熟悉吗?(答 特别复杂的数据结构了解不深,但基本的数据结构还是比较熟悉的)面试官说那我就不细问了。
-
我们还是来做一道题:面完查了一下是 LeetCode 81。
- 不用写,说思路就可以。
- 之前没接触过,面试官引导了一下,想了一会儿,说了一下大致思路
- 问了一下细节,又想了一会儿,面试官说今天我们面试蛮久了,开始反问环节。
-
反问环节
- 问部门技术栈,面试官说我是别的部门来交叉面的,我到时候不一定是在他的部门,然后介绍技术栈是 C++/Go,少量 Python 写一些脚本。
- 问面试官他这边知不知道大概什么时候会有结果,面试官说他这边写面评,后续需要 HR 安排。
- 面试官介绍了一下他这边部门的情况。
面试官看起来挺年轻的,很友善很有耐心,面试体验贼好。总体感觉问的不太八股,还是比较靠理解。
许愿二面
还愿还愿 刚许愿完就约二面了
#字节跳动##实习##面经##Java工程师#