11.10 peropero games go实习 一面
2022年11.10 面的,处女面直接被薄纱🤣那时真的太菜了,乐死我了。这个厂也挺奇葩的,官网和游戏都充斥着霓虹感,而且cd比志杰还长,今年(2023.06)boss投了一下,然后hr加我微信发现加过了,“之前面过时间比较近,就不浪费时间了”。导致至今秋招(9月)投递它司都过不了简历了,微信上问hr也不回😅。如果有来世,我一定好好把握能进peropero的最后机会
---
1. 在你的项目有看到websocket长连接支持集群式负载均衡,可以介绍一下长连接的时候它的负载均衡和短连接有什么不同?
长连接开销会比较大,因为长连接是有状态的,需要保证每次请求在同一个机子上保持会话session,需要考虑到服务器已经保持连接的数量和服务器的状态,给BFF或网关告知说我这里还可以接受连接。
2. 学习go多久了
算起来有五、六个月了,开始是看到字节青训营,它的专题是go的,就开始学了
最后有拿奖吗
没有
3. golang中哪些是引用类型,哪些是值类型
channel、map、slice都算是引用类型,值类型的话包括int8、int16、int32、int64、还有uint的,boo、float32、float64、rune、byte
struct和array和string这俩也算是值类型
4. make与new的区别
一个返回指针一个返回值,new不会对引用类型进行初始化,会返回执行nil的引用指针,make会初始化,比如make channel,可以对channel的缓冲区大小进行初始化设定,还有slice,可以设置len和cap等
5. make一个len为10的int切片,再append一个1进去,会打印什么情况
应该是10个0还有一个1,因为make会初始化10len为0,append的话是从后面追加
6. 可以简单说一下CSP和共享变量通信有什么区别吗
==我这里只记得CSP是通过通信的方式来共享变量而不是通过共享变量的方式来通信这句话了,也不清楚问的啥,就说了下共享变量通信需要加锁来保证并发安全,channel通信的话是并发安全的,数据结构里内置了一把锁,用起来比较方便。
- CSP(Communicating Sequential Processes)是由Tony Hoare在1978的论文上首次提出的。 它是处理并发编程的一种设计模式或者模型,指导并发程序的设计,提供了一种并发程序可实践的组织方法或者设计范式。通过此方法,可以减少并发程序引入的其它缺点,减少和规避并发程序的常见缺点和bug,并且可以被数学理论所论证。
CSP模型中,go的channel类似Linux的管道。它将程序分成两种模块,Processor 与 Channel:Processor 代表了执行任务的顺序单元,它们内部没有并发,而Channel代表了并发流之间的信息交互,如共享数据的交换、修改、消息传递等等。除了Channel,Processor之间再无联系,这样就将并发同步作用缩小在Channel之处,使得问题得到了约束、集中。同步操作与争用并没有消失,只是聚焦在Channel之上。Processor之间的协作,Channel提供原语来支持,如Barrier等。
go中goroutines-channel的实现就是为了减少锁和线程争用。
7. 有了解过CAS吗
8. CSP是怎么样的,简单描述一下。channel使用过程中与哪些设计模式类似,或者编程过程中有什么便利
9. 了解设计模式吗?
很少用
10. 有了解过观察者模式吗
没
11. sync包里有哪些结构体,或者哪些api
12. 读写锁与普通的Mutex有什么区别
13. 解释一下可重入锁的含义
14. 可重入锁的释放过程
忘了
15. 简单说下tcp与udp的区别
16. 一个客户端最多可以发起多少个tcp连接
一开始听成服务端,说很大,ip*端口
客户端就只是与端口有关
我开始也觉得是这样的,然后后面查了下书,发现还是和ip*端口,因为socket pair是四元组,在两端服务器都维护着一个。这里感觉面试官的知识比较狭隘。
17. 说下数据库的隔离级别和会造成的问题
18. redis用处,常用数据结构和场景
答了,但是感觉答的不是很好,详略不得当,感觉不要扩展太多比较好,先简要回答完,在深入说下。
19. 有序集合的应用场景,能存的member的最大值(score)
排行榜,不知道
20. 简单说下什么是CI/CD
持续集成、持续交付、持续部署,说了下流程,感觉不太满意
反问
1. 面试的评价和建议
学的东西比较浅,很多感觉没用过像是在背面经。基础应该补一补。数据结构这些最好自己用一用,再去看底层,理解会更深一点(指redis)
2. 对于校招生,简历上准备什么项目比较好
一些奖项,一个有实践过的项目就行,特别是基础夯实了比较好,特别是24届的
总结
感觉自己答的不好,面完就知道要挂了。简历上的东西写的有点宽泛了,没有引导性,比如说技术栈。准备面试的过程中方向有些不对,面试的时候紧张啥也想不出来了,总听错问题,然后回答问题的时候边回答边思考说话有点断断续续的。准备的项目部分一点没有问
回答问题的时候最好先简要把问题答完,然后再深入一两个部分拓展。不管怎么说,也算是踏出了面试的第一步,接下来就是海投中小厂了。
#晒一晒我的offer##面试被问期望薪资时该如何回答##夸夸我的求职搭子##24届软开秋招面试经验大赏#