Bilibili后端开发面试(3.1)

整个面试持续一小时,面试官人特别好,本来面试前我是挺紧张的,和他一聊没有那么紧张了。

我是面的golang的后端开发职位,面试前半小时主要和我聊了go的八股,主要问了go的内存管理机制、垃圾回收机制,go的channel和协程;数组和切片的区别,如何限制10个goroutine按次序执行,怎样实现goroutine的高并发,问了操作系统中线程进程协程的区别等。问到了mysql相关,b+树、聚簇索引、非聚簇索引,给我一个sql语句让我设计索引等。后来又问项目,对着我的项目很多点进行了深挖,第一次面试没好好准备项目相关的问题,答得比较差...不过没有让我做一道算法题,挺让我意外的。

这是我第一次面试,收获挺多,并没有想象中的那么可怕,面试官一再强调你们是实习生,不会问你很高深的技术,只会给一些场景让你思考解决方法,而且会对你简历上的的知识点一直进行深挖,一直到你不会为止,所以写简历一定要慎重。面试官是一个组的leader,估计没有二面,一面就可以决定,大概是凉了。

京东go开发岗位(3.17)

整个面试持续35分钟,面试官人也挺好,此次面试内容基本全是八股(含金量较低)。

首先先让我做了自我介绍,然后开始聊项目。整整围绕项目大概聊了15分钟,所以大家写在简历上的项目一定要吃透,对于可能问到的问题一定要做个总结。项目聊完之后就到了八股阶段,首先问了go的八股。问了go的GPM模型了解吗?go的垃圾回收机制,还了解过其他语言的垃圾回收机制吗?go是怎么进行协程切换的?无阻塞channel和有阻塞channel有什么区别?gin的前缀树了解过吗?了解过IO复用机制吗?为什么TCP需要三次握手,两次不行吗?mysql的ACID特性。MYSQL的隔离级别是什么,能不能举个例子在这四种场景下隔离级别会是什么情况?redis的基本数据结构是什么?zset的底层数据结构是什么?那能介绍一下跳表吗?了解redis的分布式锁吗?redis的消息队列是怎么使用的呢?大概有这么多八股,问完之后让我反问,然后让我等后续通知(有一些些可能性通过)。

此次面试之前准备项目准备较少,下次多准备点项目的问题,八股也背的很不熟练。