百度和米哈游的Golang面试经验分享

Posted Go编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度和米哈游的Golang面试经验分享相关的知识,希望对你有一定的参考价值。

最近面了两家公司的go技术岗位,一家百度,一家米哈游,面试的情况也不太乐观,现在分享一下面试中问的问题吧。

两家都是采用线上面试的,当时没有录音,现在全靠自己的回忆来复盘一下了。

i ii mi
kv fmtkv ()

...

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

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

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

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

  • make和new的区别

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

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

  • 数组和切片的区别。

  • GC

  • GPM模型

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

  • 还有其他的我忘记了。

    redis

    差不多就是百度那样。

    mysql

    也差不多和百度那样。

    linux

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

    总结

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

    米哈游的二面

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

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

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

  • 三个算法问题。

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

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

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

      文章原作者:ezreal_rao

    Flink在米哈游的落地实践

    摘要:本文是来自米哈游大数据部对于Flink在米哈游应用及实践的分享。

    本篇内容主要分为四个部分:

    1.背景介绍

    2.实时平台建设

    3.实时数仓和数据湖探索

    4.未来发展与展望

     

    作者:实时计算负责人 张剑

    背景介绍

    米哈游成立于2011年,致力于为用户提供美好的、超出预期的产品与内容。公司陆续推出了多款高品质人气产品,包括《崩坏学园2》、《崩坏3》、《未定事件簿》、《原神》,动态桌面软件《人工桌面》以及社区产品《米游社》,并围绕原创IP打造了动画、漫画、音乐、小说及周边等多元产品。总部位于中国上海,并在新加坡、美国、加拿大、日本、韩国等国家和地区进行全球化布局。

    Flink在米哈游大数据发展过程中,一直扮演着重要角色。自实时计算平台建立以来,Flink作为实时计算引擎,经历了多个发展阶段,实时计算平台也在不断的迭代完善。在米哈游内部,实时计算平台被称作Mlink,主要以Flink为主,兼容Spark Streaming任务。从起初的Flink Jar包任务为主,发展到以Flink Sql为主,不断的降低的使用门槛和提高了任务的开发效率;从起初的基础的Flink任务开发,发展到跨区域、跨云厂商的任务多版本管理,满足了业务发展的需求。在发展的过程中࿰

    以上是关于百度和米哈游的Golang面试经验分享的主要内容,如果未能解决你的问题,请参考以下文章

    Flink在米哈游的落地实践

    Flink在米哈游的落地实践

    米哈游春招后端-2023.03.19-第一题-米哈游的RBG矩阵-简单

    围观|第一代云原生企业米哈游如何让想象发生?

    来自BAT的程序员面试经验分享

    当一次经验包,分享惨败百度Java后端研发岗面试的架构知识点