千家信息网

新鲜出炉的Go面试题有哪些

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇文章为大家展示了新鲜出炉的Go面试题有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。百度一面百度的面试步骤分为计算机基础、go相关、mysql相关、r
千家信息网最后更新 2024年09月21日新鲜出炉的Go面试题有哪些

本篇文章为大家展示了新鲜出炉的Go面试题有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

百度一面

百度的面试步骤分为计算机基础、go相关、mysql相关、redis相关、linux相关问题。还有一些发散性的问题。

基础相关

  • 算法,包括不限于红黑树、二叉树等等。

  • 数据结构,包括不限于链表、数组等。

  • tcpip相关的一些问题,比如三次握手、四次挥手、time_wait等等。

  • 浏览器输入地址,中间发生的过程,仔细的描述一下。(这个我感觉基本都会被问,哈哈哈)。

这一块的话,我回答的是稀碎,算法和数据结构我一个都没答上来,后面两个因为之前面试问到过,所以查过一些,回答的还算可以。

go相关

  • GC,(面GO必问题),GCstw时机,各个阶段是如何解决的。

  • gpm,(面GO必问题),这个必须要完全理解,抢占式调度是如何抢占的,怎么调度goroutine的,MP的数量问题。

  • 如何优雅的实现一个goroutine池(这个回答的稀碎)

  • 谈谈内存逃逸

  • 内存管理(这个也回答的稀碎)

mysql相关

  • mysql锁,分锁粒度和锁算法(间隙锁、记录锁,临键锁),以及锁算法在什么情况下会用到。大概意思就是如果精准能匹配到的话,用的就是记录锁,否则退化为间隙锁

  • mysql mvvc实现原理。

  • mysql 索引,索引建立时机,建立规则。

  • mysql 分库分表规则,有没有实践过?

  • mysql 索引的类型以及索引的数据结构

  • mysql 事务特性,以及隔离级别。

redis

  • redis的数据类型有哪些,使用场景说说。

  • redis zset的编码方式,应该有两种,在配置文件中配置的,默认128个元素是ziplist(压缩表),大于128则是skiplist

  • redis的内存淘汰策略

  • redis的持久化策略

  • redis分布式锁

  • redis分布式架构有哪些

  • 如果有一个排行榜,用zset,根据积分和时间来排序,积分高的,时间最近的拍前面,怎么实现?

linux

  • 你熟悉的有哪些命令

  • 如果线上流量暴增,全都打到一个upstream上了,怎么排查。

  • 如何在nginx的access log中查出请求前10的ip

总结

我面试结束后,一般都会问面试官,根据这次面试,针对我的技术上面,有什么好的建议或者意见,这位面试官给我的回答是:计算机基础比较薄弱,但是业务能力很强。这也是我目前的现状,哈哈,所以最近一直在看哈工大老师的计算机理论和操作系统。希望能勤能补拙吧。

米哈游一面

米哈游面试总体分为四个部分,go相关,mysql相关,redis相关,linux相关。

go相关

  • 第一题就给我干懵逼了。代码如下:

...m := make(map[int]int, 10)for i := 1; i<= 10; i++ {    m[i] = i}for k, v := range(m) {    go func() {        fmt.Println("k ->", k, "v ->", v)    }()}...

问会出现什么状况,为什么,怎么解决。就是不要闭包直接使用外部变量,通过传参就能解决了。

  • 内存泄露,什么情况下内存会泄露。

  • channel的底层实现原理,(其实就是问buf是环形链表的数据结构)

  • defer,这个一定要认真回答,defer在什么时机会修改返回值。多个defer的顺序。

  • make和new的区别

  • channel关闭了接着send数据会发生什么,关闭一个已经关闭的channel会发生什么。

  • map是线程安全的吗,map的扩容规则。

  • 数组和切片的区别。

  • GC

  • GPM模型

  • 进程、线程、协程区别。(这个很重要)

还有其他的我忘记了。

redis

差不多就是百度那样。

mysql

也差不多和百度那样。

linux

大差不差,就问了一个怎么根据进程名查该进程的id.

总结

根据面试反馈来看,米哈游给出的是go基础较差,但是业务能力较强。可能这就是之前干外包的特点吧。

米哈游的二面

米哈游二面主要问的是业务方面和算法方面的问题,主要有三部分。

  • 微服务相关,包括微服务的注册与发现,微服务的监控,微服务的限流相关等等,还有微服务怎么守护进程,我回答的是supervisor,也不知道对不对。

  • 具体业务的实现,兑换码的实现,如何批量生成几十万或者上百万的兑换码,(这个我回答的是用雪花算法实现),高并发下,一个兑换码如何保证只能被一个人兑换一次,以及一个兑换码如何可以被多个人兑换的实现。(这道题前前后后回答了有半个小时吧,因为之前做过相关的业务,所以心里有点底)

  • 三个算法问题。

    1. 写一个方法,解决:输入4个数字,通过加减乘除,输出一个期望值。

    2. 广度优先算法:怎么输出各层的值。

    3. 台阶问题,假如对于上台阶,可以一次上一阶,也可以一次上两阶,写一个方法,实现输入台阶数,输出可以有多少种上法。

上述内容就是新鲜出炉的Go面试题有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

问题 就是 算法 数据 业务 内存 米哈 服务 基础 数据结构 索引 结构 进程 时机 规则 计算机 输入 输出 新鲜 差不多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 反恐精英怎么删除服务器 软件开发测试男生礼物 如何破解服务器上的指标 怀柔区制造软件开发规定 企业软件开发部经理管理思路 飙酷车神2服务器验证 语音交流软件开发了视频功能 私人医院必须要服务器吗 炉石传说战棋酒馆卡牌数据库 科技局互联网工作方案 服务器适配器 国泰君安全行情服务器 金属纵剪机分条排刀软件开发 三丰云虚拟服务器哪个好 应用另一个表格中的数据库 北京化工大学数据库账号密码 服务器管理器ftp配置 oracle数据库挂了怎么办 朱虹数据库安全 淮安企业网络安全准入控制哪家好 计算机网络技术岗位发展 工业测量软件开发难吗 江阴进口软件开发代理价钱 怎样获取服务器反馈脉冲 国铁集团网络安全周题库 数据库表规则 数据库系统的三级模式及其优点 河北企业软件开发定做价格 教学管理数据库国内外研究现状 oracle数据库挂了怎么办
0