百度和米哈游的Golang面试经验分享
Posted Go编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度和米哈游的Golang面试经验分享相关的知识,希望对你有一定的参考价值。
最近面了两家公司的go
技术岗位,一家百度,一家米哈游,面试的情况也不太乐观,现在分享一下面试中问的问题吧。
两家都是采用线上面试的,当时没有录音,现在全靠自己的回忆来复盘一下了。
i ii mikv fmtkv ()
...
问会出现什么状况,为什么,怎么解决。就是不要闭包直接使用外部变量,通过传参就能解决了。
内存泄露,什么情况下内存会泄露。
channel的底层实现原理,(其实就是问buf是环形链表的数据结构)
defer,这个一定要认真回答,defer在什么时机会修改返回值。多个defer的顺序。
make和new的区别
channel关闭了接着send数据会发生什么,关闭一个已经关闭的channel会发生什么。
map是线程安全的吗,map的扩容规则。
数组和切片的区别。
GC
GPM模型
进程、线程、协程区别。(这个很重要)
还有其他的我忘记了。
redis差不多就是百度那样。
mysql也差不多和百度那样。
linux大差不差,就问了一个怎么根据进程名查该进程的id.
总结根据面试反馈来看,米哈游给出的是go基础较差,但是业务能力较强。可能这就是之前干外包的特点吧。
米哈游的二面米哈游二面主要问的是业务方面和算法方面的问题,主要有三部分。
微服务相关,包括微服务的注册与发现,微服务的监控,微服务的限流相关等等,还有微服务怎么守护进程,我回答的是supervisor,也不知道对不对。
具体业务的实现,兑换码的实现,如何批量生成几十万或者上百万的兑换码,(这个我回答的是用雪花算法实现),高并发下,一个兑换码如何保证只能被一个人兑换一次,以及一个兑换码如何可以被多个人兑换的实现。(这道题前前后后回答了有半个小时吧,因为之前做过相关的业务,所以心里有点底)
三个算法问题。
写一个方法,解决:输入4个数字,通过加减乘除,输出一个期望值。
广度优先算法:怎么输出各层的值。
台阶问题,假如对于上台阶,可以一次上一阶,也可以一次上两阶,写一个方法,实现输入台阶数,输出可以有多少种上法。
文章原作者:ezreal_rao
Flink在米哈游的落地实践
摘要:本文是来自米哈游大数据部对于Flink在米哈游应用及实践的分享。
本篇内容主要分为四个部分:
1.背景介绍
2.实时平台建设
3.实时数仓和数据湖探索
4.未来发展与展望
作者:实时计算负责人 张剑
背景介绍
米哈游成立于2011年,致力于为用户提供美好的、超出预期的产品与内容。公司陆续推出了多款高品质人气产品,包括《崩坏学园2》、《崩坏3》、《未定事件簿》、《原神》,动态桌面软件《人工桌面》以及社区产品《米游社》,并围绕原创IP打造了动画、漫画、音乐、小说及周边等多元产品。总部位于中国上海,并在新加坡、美国、加拿大、日本、韩国等国家和地区进行全球化布局。
Flink在米哈游大数据发展过程中,一直扮演着重要角色。自实时计算平台建立以来,Flink作为实时计算引擎,经历了多个发展阶段,实时计算平台也在不断的迭代完善。在米哈游内部,实时计算平台被称作Mlink,主要以Flink为主,兼容Spark Streaming任务。从起初的Flink Jar包任务为主,发展到以Flink Sql为主,不断的降低的使用门槛和提高了任务的开发效率;从起初的基础的Flink任务开发,发展到跨区域、跨云厂商的任务多版本管理,满足了业务发展的需求。在发展的过程中
以上是关于百度和米哈游的Golang面试经验分享的主要内容,如果未能解决你的问题,请参考以下文章