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

  • 反问

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

本文由 GOLANG ROADMAP 发布!

【第十三期】B站后端开发实习生一、二面经的更多相关文章

  1. 今日头条高级后端开发实习生三轮技术面+HR面 面经

    二面结束后已经意识模糊,好多问过的东西都忘了,而且有一些基础知识就不在这写了,大部分公司都问的差不多... 一面(2018/03/27,11:00~11:50) 1:自我介绍 2:简单说说你这个项目吧 ...

  2. 字节跳动后端开发实习生面试(Python)

    一面: 1.自我介绍. 2.介绍“工大小美”项目相关. 3.Python中的GIL(全局解释器锁),以及哪种情况下使用python的多线程性能有较大的提升. 4.项目中用到了SQLite数据库,如果有 ...

  3. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  4. Java后端开发书架

    本人摘录于江南白衣文章,文章地址:http://calvin1978.blogcn.com/articles/javabookshelf.html 书架主要针对Java后端开发. 3.0版把一些后来买 ...

  5. 微信小程序周报(第十三期)-极乐商店(store.dreawer.com)出品

    重要:极乐商店域名变更:wxapp.dreawer.com/变更为store.dreawer.com/ 每周一笑 当年刚学打篮球的时候,疯狂地迷恋上了乔丹,然后迷恋上了NIKE,更熟记了NIKE的那句 ...

  6. Python后端开发要求

    关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...

  7. Uix Kit 快速建站前端开发套件-工具箱

    这个产品维护已经有一年了(由于业务需求不同,目前没有做中文版,产品本身是针对国外网站),自己本身是做UI出生,开发只是业余爱好,仅仅作为平时工作的需要.杂七杂八会一些前后端开发.并非职业码农! 我是一 ...

  8. 前端到后台ThinkPHP开发整站--php开发案例

    前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...

  9. java开发实习生面试经历

     这是我第一次写博客,以前都是查看别人的博客分享学习技术,转眼间我也成为其中一员.从一位初学者到现在的开发实习生,不断前进着,跟随时代的脚步在程序的海洋里漂泊,也意识到自己的各种不足,但我还年轻,头还 ...

随机推荐

  1. WPF自定义界面WindowChrome

    WPF自定义界面WindowChrome 默认WPF的界面其实也还行,就是满足不了日渐增长的需求,界面还是需要有更高的自定义程度,包括标题栏也要能够塞下更多的操作控件. 默认窗口介绍 新建WPF项目, ...

  2. 【机器学习】Pandas库练习-获取yahoo金融苹果公司的股票数据

    # 获取yahoo金融苹果公司的股票数据. # 1.分析拉取的数据,找到收盘数据列的列名. # 2.绘制收盘价格柱状图. # 3.分析拉取的数据涨跌率,股价移动平均和波动率. # 4. 找出开盘价和收 ...

  3. Ubuntu 16.04远程配置Jupyter Notebook

    安装和配置Jupyter Notebook 安装jupyter notebook conda conda install -c conda-forge notebook pip pip install ...

  4. IT6563|4LAN DP转HDMI 4K60HZ /2.0转换方案|CS5263替代IT6563

    IT6563是一款4通道DisplayPort1.2到HDMI 4K60Hz转换器,IT6563结合DisplayPort接收机和HDMI发射机,通过转换功能支持DisplayPort输入和HDMI输 ...

  5. 显示器接口VGA、DVI、HDMI、DP

    1.说明 对于显示器接口类型, 常见的接口有VGA.DVI.HDMI.DP这四种, 当然还有其他类型接口, 本文主要介绍上面四种接口, 介绍接口的基本规格参数和外形等, 以及这四种接口之间的联系和区别 ...

  6. go.mod file not found in current directory or any parent directory; see 'go help modules'

    go的环境设置问题,执行 go env -w GO111MODULE=auto 我的环境:Windows 7, Go 1.17 D:\Apps\GOPATH\src\code.oldboyedu.co ...

  7. Shell 中的 expect 命令

    目录 expect 介绍 expect 安装 expect 语法 自动拷贝文件到远程主机 示例一 示例二 示例三 示例四 expect 介绍 借助 expect 处理交互的命令,可以将交互过程如 ss ...

  8. 怎样查看Jenkins的版本

    where to check jenkins version To identify your current version of Jenkins, you can do one of two th ...

  9. 第10组 Alpha冲刺 (4/6)(组长)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/13982696.html ·作业博客:https://edu.cnblogs.co ...

  10. GORM学习指南

    orm是一个使用Go语言编写的ORM框架.它文档齐全,对开发者友好,支持主流数据库. 一.初识Gorm Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文 ...