边无际 | Golang后端开发 | 2022.06.25
边无际 | Golang后端开发 | 2022.06.25
这算是我学习go语言来第一次参加面试。
一面
-
自我介绍
-
channel关闭了去读去写会出现什么问题?这个我回答的还不错
-
直接两道算法题,我直接蒙逼了。
-
第一道是 给一些括号 匹配成功返回true,失败返回false,括号匹配问题
-
第二道是传入字符串键值对(a=1,b=2),转化为map型(key:value),这个就很尴尬,因为对map的不熟悉,在初始化上出了错误
-
中间问了 索引二叉树的时间复杂度,没有回答上来
面试完算法题就结束了,我知道结果肯定寄了,虽然一开始也没有报太大的希望
二面
二面主要是笔试,二套试卷,一套是go语言相关的(30道选择题和一道算法题),一套是算法题(二道),总结如下:
第一套试卷(后端golang)
-
golang基本结构
-
golang特性
-
go语言触发异常的场景
-
CSP模型 GMP
-
读写锁
-
线程进程协程
-
for循环
-
make和new的区别
-
指针
-
引用类型
-
select
-
beego框架
-
Gin框架
-
Ginkgo
-
GoStub
-
Go vendor
-
Go Mock
-
还有没写的就是代码运行结果相关的
-
然后就是一道 算法题 矩阵转置
第二套试卷(算法)
二面总结
题目不算太难,选择题很多库都没见过,不熟悉,最后还是很顺利的通过了笔试
三面
过完二面笔试之后,第二天收到了答复,当天晚上七点就直接进行面试(三面)。以下是面试内容
-
自我介绍
-
为什么选择Golang?前景好,性能好,小而精
-
擅长做什么事情?做项目
-
聊天室项目怎么实现的?通过几个goroutine
-
go语言的垃圾回收?这个项目怎么进行的? 这个项目没有用到垃圾回收,是语言的特性。
-
了解docker?连接简单指令,部署了聊天室的服务器
-
使用什么网络框架?实现了什么东西? 登录注册
-
登录注册是怎么实现的?校验信息,密码加密保存
-
怎么进行加密的?通过github上的包
-
看了github项目很多,介绍写的很好,怎么写出来的?参看README模板
-
写两道算法题,在showmebug网站
-
第一道是 通过管道实现生产者消费者模型,运行出来了
-
第二道是 将每个单词的首字母移到至单词结尾,并在单词结尾添加「so」。保留标点符号不变。 没太写出来
心得
-
面试的这家公司非常注重算法,也狠狠的打击了我,让我有动力去提升我的算法能力
-
希望自己面对面试保持平常心,该干什么就干什么,不要被面试打乱了正常的学习和生活
- 面试前不要慌乱,这样反而准备不好