Golang面经
4月底老师突然让实习了,开始海投所有公司找实习。本人情况本科非计算机,硕士人工智能,双211。菜鸡一个
公司包括 字节(4面挂) 斗鱼,合合信息,金山云,金蝶,趣头条,阿里,默安科技,好未来,学而思,
三一重工(投go笔试C所以挂),趋势科技(投go笔试C所以挂),百度,b站(面到后面不想面了)等等。腾讯美团那些实习都截止了,没能参加很可惜。
基本上都offer了,可能我简历写的简单,问的问题都没有大佬难,而且面试的过程我我不想说假话,一是一二是二,不要我就不要,不想骗人。
项目写TCP服务器(就是把net包向上封装了两层),docker配过深度学习服务器。
我是C++和GO双生武魂,写腻了C++就写GO,写腻了GO就写C++,还挺有意思的。
非常推荐学GO语言,面试需要学的内容比C++,JAVA少很多,普遍确认。
具体问题如下。
GO语言类问题:
GMP模型是如何实现的
进程,线程,协程联系和区别
别的语言有协程嘛
一颗CPU,两个协程,其中一个协程在死循环,会发生什么
GC垃圾回收机制
和JAVA垃圾回收机制有啥区别
Channel底层原理
用Channel和两个协程实现数组相加
用协程实现顺序打印123
切片原理 和数组的区别
切片初始化问题
map什么内容不能成为key
map和sync map(读写问题)
看过啥底层包(net,sync等等)
懂不懂RPC。
项目怎么实现高并发高性能(我的项目内容就实现了个读写分离,协程池)
算法类:
链表排序插入,二叉树找中间一段子树(题号437),层次遍历等等L网站初级或中级题目,
最难也就阿里笔试初级回溯算法了,(还有同学的腾讯笔试题目太难了,5道我就能写出一道题目),老老实实把简单题刷熟,真没想象中那么难。
排序算法,堆排序,桶排序,快排,二分查找等等手写,并且举例说出最优和最差情况
计算机网络问题:
建议玩一天抓包,基本的内容也就熟悉了。
HTTP协议报文内容,常见状态码,挂了怎么办。
TCP三次握手,四次挥手,以及通信中间挂了怎么办。
TCP UDP报文格式以及区别,为啥要那些字段,分别能传输最大报文为多少。
OSI7层模型说说每层的常用协议。
ICMP,IGMP协议是怎么回事,怎么实现的。
为啥要IP还要mac。
常见路由协议。
ARP协议是怎么回事,报文内容有啥。
一个包怎么能从一台电脑到另一台电脑。
数据库问题:
强烈建议多找找应用场景,怎么来构建数据库,不要像我只会增删查改。
ACID
隔离级别
备份还原
redis基本数据类型,RDB和AOF
基础查表建表问题。
linux操作系统:
linux下进程,线程实现,如何通信
常见命令ls,ps,df等等
grep写正则
僵尸进程,孤儿进程