面试问题总结(一)Golang

Python015

面试问题总结(一)Golang,第1张

使用go语言的好处: go语言的设计是务实的, go在针对并发上进行了优化, 并且支持大规模高并发, 又由于单一的码格式, 相比于其他语言更具有可读性, 在垃圾回收上比java和Python更有效, 因为他是和程序同时执行的.

1. 进程, 线程, 协程的区别, 协程的优势

2. 讲一下GMP模型(重点)

3. Go的GC, 混合写屏障(重点)

4. go的Slice和数组的区别, slice的扩容原理(重点)

5. 讲一下channel,实现原理(重点)

6. 讲一下Go的Map的实现原理, 是否线程安全, 如何实现安全(重点)

7. new 和 make 的区别

8. 说一下内存逃逸

9. 函数传指针和传值有什么区别

10. goroutine之间的通信方式

11. 测试是怎么做的(单元测试, 压力测试)

12. 堆和栈的区别

请实现 个算法,确定 个字符串的所有字符【是否全都不同】。这 我们要求【不允

许使 额外的存储结构】。 给定 个string,请返回 个bool值,true代表所有字符全都

不同,false代表存在相同的字符。 保证字符串中的字符为【ASCII字符】。字符串的

度 于等于【3000】。

这 有 个重点,第 个是 ASCII字符 , ASCII字符 字符 共有256个,其中128个是常

字符,可以在键盘上输 。128之后的是键盘上 法找到的。

然后是全部不同,也就是字符串中的字符没有重复的,再次,不准使 额外的储存结

构,且字符串 于等于3000。

如果允许其他额外储存结构,这个题 很好做。如果不允许的话,可以使 golang内置

的 式实现。

通过 strings.Count 函数判断:

使 的是golang内置 法 strings.Count ,可以 来判断在 个字符串中包含

的另外 个字符串的数量

还有不同的方法同样可以实现,你了解吗?

推荐go相关技术 专栏

gRPC-go源码剖析与实战_带你走进gRPC-go的源码世界-CSDN博客

什么?刷题? no no no!

正确流程是百度,生辰八字算命,输入你的姓名、生辰,开始算命。

what? 算命结果不如意?换个生日继续算啊。

重复以上步骤直到满意为止。

万一生辰八字合格了,但是技术不过关那还能怪谁,先刷刷题。

http, tcp, 算法,数据结构,web框架,各种组件的原理,相同功能的组件之间的区别等等背一背。

我也不知道为什么要提这一点,你或许会体会到的。

what?前台是个发量比程序员还少的哥们。好吧。

打个招呼: 你好,我是来面试的。

发了个访客贴,签到,填表。没有笔试。

花个两分钟填下表(值得注意的是:这会儿的生辰八字我写的身份证上的日期)

交给那哥们,然后在前台的沙发区等着。

卧槽,一等就是30多分钟......

这个好啊,我看网上那么多人都说技术面感觉不错,结果可能生辰八字不符被刷掉了。 那么HR先面的话应该可以先确定下生辰八字符不符合要求吧?

整个过程差不多20来分钟吧,然后又开始漫长的等待,差不多又是半个小时的时间。

介绍下工作经历。

根据简历问下一些问题。

一些常用的工具 mysql postgresql mongo redis rabbitmq kafka随便问问。

rabbitmq,kafka区别。

一个场景 tcp连接 原来10000/s 没毛病,做推广的时候飙升到50000/s,不固定时间段内会出现延时10秒才返回结果,而且结果是正确的,问如果是你怎么排查问题

k8s

这些没什么标准答案,看个人发挥。技术面差不多聊了半个小时吧。

最后,面试官问玩不玩游戏,这是一家棋牌游戏公司,我本想说不玩,但是后面还是说偶尔玩玩,谈谈对游戏的看法等

然后又让等着,又是十几二十分钟的样子。

最后之前的HR过来,欲言又止的样子,然后说先到这里,等通知。

整个过程等待的时间超过一个小时,也没有给个水,给人的感觉并不是很热情,面试官的表情严肃的像在考你的老师。

自我感觉技术面还不错,如果被刷的话确实会怀疑是不是生辰八字不符合。回家后又在看准网上看的他们内部员工说绩效也看生辰八字,越想越担忧。

直到昨日,收到他们通知,竟然通过了。

我该不该去?(内心是say no的)