
极简版
- 自我介绍
- 解释一下虚拟地址是什么
- 一个几百 G 的游戏是怎么在只有几 G 的内存上运行的?
- 用户态怎么切换到内核态?系统调用
- c/c++编译完后,可执行文件的结构是什么样的?
- 进程和线程的关系
- 介绍一下 go 语言中的 channel
- TCP 和 UDP
- 数据库事务的属性
- 除了原子性都问了一遍性质和作用
- 事务隔离级别
- redis 使用过那些数据结构,介绍一下持久化操作
- 介绍一下 jwt,以及为什么使用 jwt ,有什么用?为什么以前浏览器使用的是 cookie + session ,改用 jwt 有什么好处?
- jwt 是明文的吗?
- 平常怎么进行并发编程
- 关闭已关闭的通道?
- 读关闭的 channel 能读吗?
- 写入关闭的 channel 能写吗?
- 读关闭的空 channel 会发生什么?
- 反问:如果入职主要做哪方面的工作?招聘信息上的“中台”是什么意思,后台和前台之间的中间?答:介绍工位。本质还是后台。
心路历程版
大致回忆了一下
- 自我介绍
- 解释一下虚拟地址是什么这个我理解为,操作系统的内存结构和程序运行的虚拟地址,讲了虚拟内存,还提到了段页式内存地址转换但是面试官可能想让我回答,一个几百 G 的游戏是怎么在只有几 G 的内存上运行的?答了从磁盘调入内存,内存再淘汰不常用的数据。
- 用户态怎么切换到内核态?系统调用
- c/c++编译完后,可执行文件的结构是什么样的?不知道怎么回答,但是仔细一想好像学过,就是汇编和机器指令
- 进程和线程的关系
- 介绍一下 go 语言中的 channel
- TCP 和 UDP
- 数据库事务的属性说完 ACID 只记得原子性和一致性,隔离性和持久性脑抽忘记了,赶紧扯点别的
- 除了原子性都问了一遍性质和作用只答上来一致性
- 事务隔离级别读未提交(Read Uncommitted): 事务可以读取其他事务未提交的数据,可能会出现脏读、不可重复读和幻读问题。读已提交(Read Committed): 事务只能读取其他事务已提交的数据,可以避免脏读问题,但可能会出现不可重复读和幻读问题。可重复读(Repeatable Read): 事务在同一事务中多次读取相同数据时保证结果一致,但仍可能出现幻读问题。串行化(Serializable): 最高隔离级别,事务串行执行,避免了脏读、不可重复读和幻读问题,但降低了并发性能。明明才看过,就忘记了,只说了前两个,还说的不是很好。其实我擅长的是说索引,这个有点不太会讲。数据库方面答得不太好
- redis 使用过那些数据结构,介绍一下持久化操作讲了 AOF (类似日志记录),和 RDB 快照(这个名字忘记了,功能说对的)
- 介绍一下 jwt,以及为什么使用 jwt ,有什么用?为什么以前浏览器使用的是 cookie + session ,改用 jwt 有什么好处?改用 jwt 有什么好处?瞎扯加密后更安全,给下面埋雷。
- jwt 是明文的吗?答不是明文的,是通过加密算法加密后的。但是面试官说是明文的,说我理解不太对,要再去看一下
- 平常怎么进行并发编程答简单说了一下怎么用 go func 开新的协程,用 channel 搞并发控制,有缓冲和无缓冲的,阻塞的情况
- 关闭已关闭的通道?panic
- 读关闭的 channel 能读吗?可以
- 写入关闭的 channel 能写吗?不行,panic
- 读关闭的空 channel 会发生什么?不会,猜了一个panic,结果是零值(小问题,面试官应该不在意)
- 反问:如果入职主要做哪方面的工作?招聘信息上的“中台”是什么意思,后台和前台之间的中间?总结:介绍工位。本质还是后台。
插曲
刚开始的时候电脑出问题了,听不到面试官的声音。想着重进面试平台会不会好,结果退出就不让进了!
还让我评价平台使用感受,直接 0 分。然后电话联系 hr 重进
还有一点,大锅,简历上写熟悉 golang 语法写成了 熟悉 goland 语法,
面试官很 nice ,一直在引导,有很多问题都很有意思,即使我答不上来也是很耐心解释,面试体验很不错。祈祷能有后续