首页 > 跟谁学golang岗二面
头像
Dynamic777
编辑于 2020-08-25 17:52
+ 关注

跟谁学golang岗二面

微信视频面的,没有录音,所以凭记忆写一下,主要是想和大家讨论下有些我没弄明白的问题

首先跟谁学的面试挺有难度的,不像很多公司问一些死问题,问得很灵活,很开放。

1.项目用的web框架是什么(答:beego和gin),问这些框架在处理请求的时候,是并发的呢,还是串行的呢
这个我不知道,但是感觉应该是并发的
2.如果让你设计一个框架可以并发处理请求,你会怎么设计?
我答的是用一个线程来监听请求,有请求来了就加入队列,然后用一个线程池去消费队列里的请求。
3. 网络密集型和计算密集型分别占用什么资源比较多
答计算密集型占用cpu比较多,网络密集型占用文件描述符比较多,问:除了文件描述符还有什么呢? 我就答不上来了。。。
4.一个线程,通过http或者rpc访问其他服务,在请求返回之前这个线程是什么状态?答阻塞,问:那请求返回之后呢,线程是怎么唤醒的,我说如果是io多路复用,select poll,epoll之类的会去唤醒数据就绪的线程,面试官继续问:怎么唤醒的
这里我就有点懵了,我说给这个线程发信号,面试官问是谁发呢,什么机制? 看我这里答不上来,面试官直接问我,线程间通信方式有哪些,这时候我才反应过来这里是在考线程间通信方式? 我说信号量、锁、共享内存,然后他说那你看这里应该用什么,我说信号量,他说对,信号量可以实现。
5.协程是什么,然后聊到了runtime,他问runtime这个进程是运行在哪儿的,每个go进程都会有一个吗还是共用一个?如果你运行了go进程,在linux系统里查看进程能看到runtime进程吗
协程我倒是能答上来,后面那些问题就不清楚了。。。
6.一个进程空间里有哪些东西,程序在运行的时候数据从哪儿来的
我说程序段代码段堆栈、文件映射等,数据就是从进程空间数据段堆栈段里来的吧,他说不是这个,他说汇编代码你看过吗,我说看过,但不熟悉,他说一个指令里的数据是直接写的变量名字吗,我反应过来,我说数据在寄存器里,他说对,那数据怎么到寄存器的呢,我说数据总线,他说对。

。。。暂时只想起来这么多,主要是想写出来和大家探讨下,因为感觉这些问题我都有点懵。。。

其他的
面试官还是挺好的,像聊天一样和你聊,但是聊得还挺深的,很开放
最后让写个算法题,一个棋盘,上面只有黑色和白色棋子,找出相连的最多的黑色棋子个数(上下左右相连)
问我有什么爱好
说和我玩一个游戏,他在心里想一个体育明星的名字,我通过提问,他回答是或者不是,直到我猜到那个名字(第一次在面试中遇到这种🤣
我问是不是球类运动,答:不是
是不是田径运行,答:是
是径类吗,就是跑步类的,答:是
是刘翔吗,答:不是
是波尔特吗:答:是

哈哈,他说我还挺快的

上面那几个问题,欢迎大家和我讨论啊,这几个问题我都有点懵。

更多模拟面试

全部评论

(4) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐