字节跳动 后端基础架构 暑期实习123面+hr面(已OC)

背景

211本985硕,ICPC区域铜/邀请银(2017年),DevOps、架构和CV算法(偏部署)都可
语言Modern C++/Python/.Net Core/Golang

一面

  • 自我介绍2分钟
  • 什么是基础架构?说出你的理解
  • Linux的进程地址空间是什么?有什么作用?为什么要有?
  • 虚拟地址空间的作用和必要性?如果我的物理内存很大还需不需要虚拟地址空间?
  • 描述你理解的中断
  • 聊聊文件描述符
  • 聊聊CAS
  • 聊聊负载均衡,dns的这种方式有什么问题,业界一般怎么实现,nginx怎么实现,应用层和传输层分别怎么实现复杂均衡,有什么优化方式
  • 聊聊docker容器原理和使用
  • 聊聊k8s的架构,他怎么实现服务注册和发现,除了k8s这样还能怎么实现
  • 聊聊Redis的作用,几种工作模式以及分别怎么处理读写,对于cluster如果我需要强一致性数据,但是分片挂了怎么办,从服务端客户端的层面怎么解决
  • 聊聊对网络代理的认识和你简历中说的代理和SNI代理

算法题topic:
二叉树的最近公共祖先

  • 1次询问On复杂度(一次dfs)
  • 多次询问,询问O1时间复杂度 (tarjan算法)和最低空间复杂度
  • 离线询问,询问要O1,最低空间复杂度 (tarjan算法)
  • 在线询问,支持插入和删除节点,询问低于On 时间(倍增算法),空间最低

反问

二面

问的不多,给了20+分钟写了一个匪夷所思的东西

  • 自我介绍+项目比赛介绍
  • 异步编程的理解和举例,使用场景
  • 项目里k8s 容器 服务注册 消息队列的作用
  • 你当时为什么能意识到需要负载均衡服务注册和发现
  • 锁的认识,讲讲一般与分布式场景下的锁
  • 讲讲CI/CD,讲讲GitHub Action和Jenkins

没有算法题,编程题:
写一个支持高并发的Hashmap (C++),不能使用标准库hash和红黑树等的实现,只能用常用的vector和并发控制等
之前确实没了解过java的那个concurrent hashmap的写法,不过我自己脑补出了一个差不多的
字符串哈希函数、拉链法、拉链上二分修改和查找、对拉链的二分区域加shared_lock等等,还有些细节
后面看了看java的好像我加的粒度比它定义上细?我说的拉链就是它所谓的bucket

写完当即表示ok没问题,然后反问环节

三面

Leader面,是下午六点估计到饭点了挺急的,只面了半个多小时

  • 选一个你觉得做的最好的项目说一说

  • 针对项目询问

  • 你了解比如k8s的服务发现注册机制吗,那你知道声明式API吗(我了解k8s怎么做,但是卧槽这是啥,不知道,但是回答了k8s大概怎么做的)

  • 说说为什么要使用influxDB,如果使用MySQL和Postgresql有什么问题

  • 如果给你一片内存让你实现最快的点查读取那么要怎么设计

  • InnoDB和B+树

  • 如果有一个线程池,有n个线程,有m个长任务和m个短任务,如何设计可以减少线程互相饿死的情况,你了解OS内核怎么做任务调度吗

  • 如果将消息队列作为缓存使用,作为缓存这个功能的高可用性怎么满足

  • Raft协议

  • 反问

HR面

  • 问手上几个offer,啥时候入职,平时对技术的习惯,性格
  • 介绍薪资和转正问题
#字节跳动实习##面试题目##字节跳动#
全部评论
祝一切顺利呀
点赞 回复 分享
发布于 2022-03-23 23:33
羡慕
点赞 回复 分享
发布于 2022-03-24 00:57
太猛了。。
点赞 回复 分享
发布于 2022-03-24 01:02
同基础架构实习,老哥base哪里的,三面没做题吗?
点赞 回复 分享
发布于 2022-03-24 15:36
offer啥时候审批下来啊LZ
点赞 回复 分享
发布于 2022-03-24 18:43
龙神我的龙神
点赞 回复 分享
发布于 2022-03-28 22:05
好强啊
点赞 回复 分享
发布于 2022-04-01 16:02
太强啦
点赞 回复 分享
发布于 2022-04-04 15:11
请问下tarjan需要写出来吗?
点赞 回复 分享
发布于 2022-04-11 15:58
牛啊,二面这玩意够难写的
点赞 回复 分享
发布于 2022-05-04 18:39
云原生相关的
点赞 回复 分享
发布于 2022-05-14 23:00

相关推荐

9 71 评论
分享
牛客网
牛客企业服务