关于golang:第十三期B站后端开发实习生一二面经

18次阅读

共计 945 个字符,预计需要花费 3 分钟才能阅读完成。

写在最前:非科班渣硕去年转码一年,不是什么大佬,纯小白(go 语言开发)。

一面(大略 70min)

  • 首先是自我介绍。(比拟传统,就是形容下本人的技术栈)
  • 线程和过程的关系。
  • 线程之间如何进行通信。
  • 死锁产生的条件。
  • 简述 go 语言 GMP 调度模型。
  • 简略的问了下 go 语言的援用类型有什么。
  • 数据库 ACID 准则,别离代表什么意思,别离举个例子。
  • 为什么 Mysql 默认是可反复读,如何实现的。
  • 提交读,如何实现的。
  • Mysql 索引的分类,聚簇索引与非聚簇索引区别
  • 谈到了锁,而后写了两个情景题,更新一条记录时,需不需要加锁,此时有一个事务须要插入一条记录是否胜利。
  • 谈谈 MVCC。
  • 计算机网络三次握手,四次挥手。
  • syn 攻打,为什么是四次挥手不是三次挥手。
  • 进行了算法题:树的层序遍历。

    反诘:

还有一些题目有点遗记了,然而总体难度不高,面试官会疏导你,一步一步深刻。(下午五点面的,早晨七点半邮件约二面)

二面(大略 60min)

  • 上来也是先自我介绍。(楼主认为二面会问很多我的项目,后果全程都是根底,并且越问越深)
  • 问除 go 之外还会什么语言,大学学过 Java(早忘了),问 go 和 java 的区别,并且说是开发题,让我想好在答复。
  • go 语言的 GMP 模型,全局队列中的 G 会不会饥饿,为什么?P 的数量是多少?能批改吗?M 的数量是多少?
  • P 和 M 的数量肯定是 1:1 吗?如果一个 G 阻塞了会怎么样?
  • 讲一讲 GC 的原理,三色标记法?还懂其余的 GC 原理吗?
  • 逃逸剖析说下?为什么要逃逸剖析?如何防止逃逸
  • 并发管制的办法?chan、sync 包
  • chan 的相干问题,如敞开一个已敞开的 chan 会如何,有缓存和没缓存的区别是什么?等等。。。
  • Map 的底层?查问的工夫复杂度多少?hashmap 如何进行扩容?产生哈希碰撞如何解决?将链表改成红黑树?
  • 红黑树与 AVL 比拟
  • Mysql 索引讲一下,为什么 B + 树更好?B+ 树与差异在哪?
  • 用 B 树查问时候如何遍历?前序?层序?为什么
  • 查问优化?explain,有什么内容?
  • 计算机网络:TCP IP 有什么区别,作用是什么?
  • TCP 和 UDP 的区别。
  • 四次挥手细节,time_wait 的状态 为什么 2MLS?
  • 大量处于 Close wait 是什么场景,如何解决?
  • 工夫不是很多了,进行算法:间断子序列的最大和。
  • 反诘

总的面试体验是很好的,都会在你不懂的中央疏导你,让你思考。

正文完
 0