视频面试 时长:45分钟
1.面试官介绍部门概况
2.自我介绍
3.为什么不考研
4.专业及排名情况
非计算机专业,说了本系的排名
语言
5.go语言的特点?
语法简洁、优美,语言层面支持协程,channel通信
6.go1.18改进了哪些?
泛型,模糊测试,性能提升
7.平时是如何学习go的?
看视频+看书+看源码
8.go的协程调度?
GMP模型
9.channel的实现方式?
忘了,模模糊糊说了一点
10.go有哪些锁?
只知道互斥锁和读写锁
11.select你经常用来干什么?
模拟io多路复用,用context包来关闭协程
数据库
12.mysql的存储引擎?innodb和myisam的区别?
13.innodb的底层数据结构?为什么用b+树?
范围查询,查询时间更平衡
14.由b+树引出顺序io,为什么顺序io更快?
聚簇索引,不知道
15.四个隔离级别及含义?
未提交读,提交读,可重复读,可串行化
16.innodb如何热备份?
redo log?
17.mysql如何保持主从同步?
binlog,relaylog……
18.从机断开连接后再恢复连接会发生什么?
不知道
19.什么时候加索引?什么时候不加索引?怎么对查询进行调优?
查询调优只知道explain命令
20.redis的架构,主要用来干什么?
架构不清楚,我经常用来做缓存
21.redis性能为什么这么好?
位于内存中,io多路复用
22.redis的数据结构?跳表?
操作系统
23.从磁盘读取数据的流程?
不清楚
24.io多路复用?
讲的不好
25.如果让你用go来实现io多路复用你会怎么做?怎么优化?
不清楚,是问epoll和select的不同?
26.协程与线程进程的区别?为什么轻量?
用户态,4字节
27.进程间通信方式?知道哪些信号?
答的不好
计算机网络
28.tcp与udp的区别?
29.tcp长连接?
只知道http长连接
30.三次挥手,四次握手?
反问环节
31.实习生的培养机制?
32.各个部门、员工之间是如何交流和协作的?
顺序是乱的,只记得这么多了,答的很差