游戏今年好难🤯
点赞 评论

相关推荐

今天 18:58
已编辑
华中师范大学 golang
#一面凉经#3.21微派贪吃蛇大作战go后端实习生面了大概一个小时计网被狠狠拷打了,怎么这么难1. 自我介绍2. OSI七层模型是什么?3. 每层是干什么的?解决了什么问题?(开始答得每层有什么协议,他说不对,问我每层解决了什么问题,比如网络层,物理层。答得不好)4. 为什么要分七层?(解耦合,专注自己每一层的职责)5. OSI分层的思路对开发有什么帮助?(举例MVC中各层的处理逻辑独立)6. 应用层协议有什么?(http,https,ws,grpc,我为什么要说ws啊,我艹了)7. ws,grpc是基于什么的?(答得http2,但是ws是http1.1握手+tcp通信)8. TCP三次握手流程?具体报文变化?(报文真不会啊)每一步的意义?9. TCP怎么实现的面相连接与可靠?(讲了ACK应答,拥塞控制,滑动窗口啥的,拥塞控制忘了好几个名词)10. TCP和UDP哪个传输字节流,那个传输报文(搞反了...很好,被看出来计网学的一坨了)11. ws的底层实现(只知道是http1.1做的连接,之后的传输是ws自己处理的)12. 基于udp做一个可靠的传输协议(直接抄TCP的,应用层手动拆分)13. http1->http1.1->http2->http3的变化14. 讲一下GMP模型15. 为什么要提出协程(用户态,轻量无感实现线程同样的效果)16. 讲一下channel的实现17. 为什么go语言鼓励通过通信实现共享内存,而不是通过共享内存实现通信?(答得各个协程之间互相隔离)18. 项目里面redis用了什么?什么数据结构?(做单聊,用的List)19. 还用过什么数据结构?(String做缓存)20. 为什么不考虑使用hash?(直接操作redis更新需求小,大多是直接覆盖)21. redis是单线程还是多线程的?(IO多线程,事件处理单线程)22. redis多路复用怎么实现的?(各个操作系统不同,linux上用的epoll)23. 为什么redis使用单线程而其他的数据库使用锁?(基于内存,性能主要瓶颈不同)24. redis怎么实现一个排行榜?如果分数一样按照时间排序怎么处理?(用Zset,Val直接存一个json字符串,时间字段在前,比较完时间字段就得到比较结果了)25. 为什么项目用微服务重构?(机器带宽问题,多人协作问题)26. 你觉得什么时候才需要用到微服务?(没想明白,只说没钱,服务器资源不够)27. 微服务的优劣势(部分更新而不是导致所有服务挂掉,运维成本比较高)28. 拆分微服务的关键,是如何做拆分的?(水平拆分和垂直拆分)29. leetcode最长公共前缀反问:1. 游戏后端和一般的业务有什么区别?(看业务,做活动的和一般的后端没差,其他的不太一样,但是我没记住)2. ZSet的那题的优雅解决方案?(float类型,小数点前用分数,后面用时间戳)3. 什么时候要拆微服务?(不同服务之间的流量大小不同,需要消耗的资源不同,所以当业务体量很大,出现严重的流量不等的时候适合拆分)
查看29道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务