B站后端开发实习生一、二面经

5.12一面 ,5.14二面 (许愿hr面、offer)

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

2021.5.12 一面(大概70min)

  1. 首先是自我介绍。(比较传统,就是描述下自己的技术栈)
  2. 线程和进程的关系。
  3. 线程之间如何进行通信。
  4. 死锁发生的条件。
  5. 简述go语言GMP调度模型。
  6. 简单的问了下go语言的引用类型有什么。
  7. 数据库ACID原则,分别代表什么意思,分别举个例子。
  8. 为什么Mysql默认是可重复读,如何实现的。
  9. 提交读,如何实现的。
  10. Mysql 索引的分类,聚簇索引与非聚簇索引区别
  11. 谈到了锁,然后写了两个情景题,更新一条记录时,需不需要加锁,此时有一个事务需要插入一条记录是否成功。
  12. 谈谈MVCC。
  13. 计算机网络三次握手,四次挥手。
  14. syn攻击,为什么是四次挥手不是三次挥手。
  15. 进行了算法题:树的层序遍历。
反问:
还有一些题目有点忘记了,但是总体难度不高,面试官会引导你,一步一步深入。(下午五点面的,晚上七点半邮件约二面)

2021.5.14 二面(大概60min)


  1. 上来也是先自我介绍。(楼主以为二面会问很多项目,结果全程都是基础,并且越问越深)
  2. 问除go之外还会什么语言,大学学过Java(早忘了),问go和java的区别,并且说是开发题,让我想好在回答。
  3. go语言的GMP模型,全局队列中的G会不会饥饿,为什么?P的数量是多少?能修改吗?M的数量是多少?
  4. P和M的数量一定是1:1吗?如果一个G阻塞了会怎么样?
  5. 讲一讲GC的原理,三色标记法?还懂其他的GC原理吗?
  6. 逃逸分析说下?为什么要逃逸分析?如何避免逃逸
  7. 并发控制的方法?chan、sync包
  8. chan的相关问题,如关闭一个已关闭的chan会如何,有缓存和没缓存的区别是什么?等等。。。
  9. Map的底层?查询的时间复杂度多少?hashmap如何进行扩容?发生哈希碰撞如何解决?将链表改成红黑树?
  10. 红黑树与AVL比较
  11. Mysql索引讲一下,为什么B+树更好?B+树与差别在哪?
  12. 用B树查询时候如何遍历?前序?层序?为什么
  13. 查询优化?explain,有什么内容?
  14. 计算机网络:TCP IP 有什么区别,作用是什么?
  15. TCP 和UDP 的区别。
  16. 四次挥手细节,time_wait 的状态 为什么2MLS?
  17. 大量处于Close wait 是什么场景,如何解决?
  18. 时间不是很多了,进行算法:连续子序列的最大和。
反问:

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

#实习##面经##哔哩哔哩##golang工程师#
全部评论
老哥,你简历有准备go小项目吗,同非科班
2 回复 分享
发布于 2021-07-08 01:12
大量的close_wait说明是服务端没有关闭连接,但是怎么解决呢
点赞 回复 分享
发布于 2021-05-19 23:25
面试的时候,还手写SQL语句了吗?哈哈
点赞 回复 分享
发布于 2021-05-21 00:22
你好 收到oc了么?
点赞 回复 分享
发布于 2021-05-23 11:47
更新一下,已oc,原本是周一oc,hr电话没接到😂
点赞 回复 分享
发布于 2021-05-26 19:35
老哥啥部门
点赞 回复 分享
发布于 2021-06-30 10:34
兄弟,有联系方式吗?我也想转go,非科班😂
点赞 回复 分享
发布于 2021-12-02 11:55

相关推荐

03-16 16:25
门头沟学院 Java
艰难学习Java的鼠鼠:小林coding的解释: GET 和 POST 是 HTTP 协议中两种常用的请求方法,它们在不同的场景和目的下有不同的特点和用法。一般来说,可以从以下几个方面来区分二者(重点搞清两者在语义上的区别即可): 语义(主要区别):GET 通常用于获取或查询资源,而 POST 通常用于创建或修改资源。 幂等:GET 请求是幂等的,即多次重复执行不会改变资源的状态,而 POST 请求是不幂等的,即每次执行可能会产生不同的结果或影响资源的状态。 格式:GET 请求的参数通常放在 URL 中,形成查询字符串(querystring),而 POST 请求的参数通常放在请求体(body)中,可以有多种编码格式,如 application/x-www-form-urlencoded、multipart/form-data、application/json 等。GET 请求的 URL 长度受到浏览器和服务器的限制,而 POST 请求的 body 大小则没有明确的限制。不过,实际上 GET 请求也可以用 body 传输数据,只是并不推荐这样做,因为这样可能会导致一些兼容性或者语义上的问题。 缓存:由于 GET 请求是幂等的,它可以被浏览器或其他中间节点(如代理、网关)缓存起来,以提高性能和效率。而 POST 请求则不适合被缓存,因为它可能有副作用,每次执行可能需要实时的响应。 安全性:GET 请求和 POST 请求如果使用 HTTP 协议的话,那都不安全,因为 HTTP 协议本身是明文传输的,必须使用 HTTPS 协议来加密传输数据。另外,GET 请求相比 POST 请求更容易泄露敏感数据,因为 GET 请求的参数通常放在 URL 中。 再次提示,重点搞清两者在语义上的区别即可,实际使用过程中,也是通过语义来区分使用 GET 还是 POST。不过,也有一些项目所有的请求都用 POST,这个并不是固定的,项目组达成共识即可。
点赞 评论 收藏
分享
评论
1
77
分享

创作者周榜

更多
牛客网
牛客企业服务