图森未来面经 后端日常实习(已OC)
背景:杭州某不知名双非本 科班大三,无竞赛,无实习经历
lc200道左右
一面
-
自我介绍
-
项目介绍
-
项目中的限流是怎么做的
-
C中的malloc函数实现?分离空闲链表有什么好处?Free怎么做?
-
Go学多久了,掌握得怎么样?
-
写题
-
01矩阵求连通数(dfs+vis标记)
-
两个groutine交替打印字母和数字
-
Go中的空结构体有什么用处
-
type set map[string]struct{} 用来实现集合
-
不发送数据的channel
-
只包含方法的结构体
-
-
interface类型能否比较
interface类型中包含动态类型和动态值,只有当动态类型和动态值均相等时才是相等
-
defer执行顺序
后进先出
顺带提了go defer在命名与匿名返回值函数中的差异,如果return x,x并没有在函数声明中定义,那么在return时会创建一个临时变量tmp = x来返回,所以defer中对x的操作不会在return中生效,如果是命名返回值函数就不会存在这一个问题,因为不需要去创建临时变量。
-
无缓冲channel和有缓冲channel区别
-
学校里学了哪些课程?
-
TCP和UDP区别
-
进程,线程和协程区别
-
反问:面试岗位用的技术栈?主要是Go,然后顺带介绍了一下部门
面试总体感觉良好,面试官挺好的,给人的感觉很舒服,代码不能work的会有提示,你回答不对也会给你指正。
二面
-
手撕循环队列,实现put和pop操作
-
项目中用到了哪些中间件?Redis和消息队列。
-
Redis性能?QPS?
-
Redis的部署方案
-
Redis的读写性能
-
MySQL和mongo哪个更熟
-
MySQL索引的数据结构?为什么使用B+树?
-
MySQL的锁了解吗?
-
间隙锁为了解决什么问题?
-
HTTP报文格式
-
HTTP头部字段说几个
-
HTTP的认证方式?cookie-session ,basic auth , JWT
-
HTTPS做了哪些工作?
-
聊了会Gorm框架。好奇为啥会问这个?
-
谈谈对Go协程的理解。
-
Go中如何面向对象?继承——组合,多态——interface duck模型,封装——首字母大小写
反问:贵司的实习生培养计划是怎么样的?
会配备一个mentor,在上手一段时间后,不会太区分实习生和正式员工之间的工作。
三面
三面是leader面,全程聊项目,没有手撕代码和八股,因此就不放具体内容了。
三面完是紧接着hr面,目前已oc
夸一夸图森hr,从二面开始全程跟进,而且基本面试完就能知道面试结果,可以在一周之内走完流程,效率极快,在年底还想找实习的同学可以考虑一下。
#图森未来##面试题目#