第一次面试,精神压力贼大
个人简介
- 普通本科,985硕,科班
- 技能是 Go、Docker、Kubernetes
- 之前无实习工作经验
- 项目经验:一个信息搜集展示系统(本科毕设)
- Go编写爬虫
- Java编写后台服务
- Angular编写Web管理界面
- Taro编写微信小程序
- Docker部署
字节
- 岗位:基础架构后端开发实习生
- 面试软件:牛客网
- 面试代码编写环境:牛客网在线编辑器(面试时有代码补全以及代码纠错功能,笔试时没有)
笔试
2h,四道算法题,做出来前两道;通过率:100%/100%/90%/50%
一面
60min
- 自我介绍
- go 并发原子操作 atomic 包的使用,和用 mutex 有什么区别
- go mutex 如何使用,在多读的情况下应该如何使用
- 有一个很大的map,并发读的时候如何提高效率
- 进程线程区别,进程切换时有哪些操作,保存了什么上下文,为什么进程切换上下文开销高,go的协程实现原理是什么,协程是如何切换的,调度器如何处理 for{} 阻塞的情况
- 用过哪些 linux 指令,ps指令有哪些输出,为什么进程会有僵尸状态,为什么需要父进程调用 wait 来回收退出的子进程,top指令中输出的系统负载的含义是什么
- 对网络编程了解多少,应用层协议了解多少,http不同版本的区别,http头结构,http header 结构,有哪些字段,作用是什么;tcp/udp 区别,tcp/udp 的包大小有限制吗
- 堆排序如何实现,介绍堆插入、弹出、建堆流程;
- 快排是如何实现的,partition中的点如何选择,手写快速排序的代码(一时紧张没写出来,当时以为挂了)
二面
70min
- 自我介绍
- Kubernetes 简要介绍一下,各个模块
- Kubelet 的作用
- Service 的作用
- Kubernetes 如何处理 Pod 意外退出的
- 对 Service Mesh 的理解
- 对云原生的理解
- 简要介绍一下容器
- 为什么需要容器,Kubernetes 直接操作进程是否可以
- 容器的ip如何配置,容器的ip是否可以冲突
- Kubernetes 如何做负载均衡的
- 反向代理与正向代理
- 四层负载与七层负载的区别
- 数据库相关的了解什么,磕磕巴巴地背了一点 MVCC,然后面试官问我这些知识都是来自(八)课(股)本(文)的吧,然后就没细问
- 对象存储有了解吗(我回答不了解,然后就没细问了)
- 算法:LRU,可以使用 go 标准库中的双向链表 container/list
三面
60min
- 自我介绍
- 进程与go协程的区别
- go中context的作用
- 介绍一下闭包
- 哈希冲突的解决方案;并发情况下如何实现无锁map;
- 当go打开文件时,rm将文件删除会发生什么
- 机器A向机器B发送数据时数据经历了几次拷贝
- 两个进程同时读取一片存储区域时得到的值相同吗
- 软链接硬链接的区别
- 介绍一下 CDN (当时紧张,说成DNS了。。后来面试官提醒了我一下)
- https与http的区别
- https建立连接的过程
- 介绍一下跨域,如何处理
- tcp中time_wait的作用
- linux查看目录下的问题,端口占用,查看进程的命令
- git都用过哪些命令
- Docker与虚拟机的区别
- Docker使用到了哪些隔离技术
- Kubernetes与容器的关系
- 介绍项目(当时太紧张了,自己准备的一个亮点忘了说,感觉面试官也不太满意)
- 算法:子数组最大和(想了一段时间没思路,太紧张,想放弃,然后面试官让我再想想,最后写出来了)
hr面
30min
- 自我介绍
- 为什么选择了计算机专业
- 在校经历
- 为什么读研究生
- 将来是想留在南京工作吗?
- 对今后的职业规划是什么
- 介绍一个自己满意的项目,碰到了什么难点,收获了哪些
- 有其它的offer吗,其它面试的流程走到哪一步了,最终会选择哪一家公司
- 来这里实习希望有哪些收获
腾讯
- 岗位:CSIG-腾讯云-软件开发-云计算开发方向-实习生
- 面试软件:腾讯会议
- 面试代码编写环境:本地IDE
一面
40min
被鸽了一次,之后联系hr重新约的时间
- 自我介绍
- 算法,口头说思路:链表中点、数字开方(没想出来,提示用二分)
- 手写代码:go 两个协程,一个生产者一个消费者,生产者随机生成数字,消费者打印
- 进程、线程、协程的区别
- 用户态与内核态的区别,为什么要有内核态,如何进入内核态
- 浏览器输入URL后发生了什么
- 浏览器如何知道数据类型
- HTTPS加密的流程
- TCP三次握手中第三次的作用(没答出来)
二面
20min
- 自我介绍
- TCP四次挥手最后的 Time_Wait 的作用(面试官对答案不满意)
- Go TCP Server 如何写
- 介绍一下 Go 的协程
- 介绍一下 Docker 容器的网络通信是如何实现的
hr面
15min
- 面试感觉如何
- 自我介绍
- 介绍一个项目
- 老家哪里的
- 有亲戚在腾讯吗
- 进腾讯最大的竞争力是什么
- 有留任的打算吗
- 实习时长
- 身体是否健康
备战资料
备注
其实还投了阿里云和b站的暑期实习,前者在一面后就没消息了,但是招聘系统上显示的状态依旧是”面试中“,已经持续三个多星期了,后者”简历筛选“状态已经持续了一个多月了
因为我简历上写了熟悉 Docker 和 Kubernetes ,所以面试官就容器方面的问题问的比较多
最后选择去了字节跳动