【第十三期】B站后端开发实习生一、二面经

itmrtan · 2022-02-07 19:11:08 · 1284 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2022-02-07 19:11:08 的文章,其中的信息可能已经有所发展或是发生改变。

写在最前:非科班渣硕去年转码一年,不是什么大佬,纯小白(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 是什么场景,如何解决?
  • 时间不是很多了,进行算法:连续子序列的最大和。

  • 反问

总的面试体验是很好的,都会在你不懂的地方引导你,让你思考。


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1284 次点击  
加入收藏 微博
2 回复  |  直到 2022-02-10 10:53:02
han8gui
han8gui · #1 · 3年之前

A实习都这么卷了吗

Lm001
Lm001 · #2 · 3年之前

去了就是个码农,真卷

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传