[心得] golang入门级 面试分享 非本科

楼主: x246libra (楓)   2019-04-28 11:23:16
工学院 硕肄 刚过30
2018年2年 开始下班自学
在这之前 只会简单的for if
thread stack heap 物件 等概念 完全没有
过去得到版上诸多资讯
换我分享一些
golang职缺的面试心得 找入门级~初级职缺
薪资都开 40K~45K/月
我对于第一份纯软工作的要求如下
1~3是主要同等的考量,4是次要
1.是否讲究软件品质
2.有好的开发流程吗?
3.后端golang的使用经验 以及 人数
4.薪资,公司规模
1. 天堂游戏有限公司
第一家面试的公司,被找去面试的,面试很有心
问什么都回答不好,都觉得对不起他了
还花了3小时面试我
此公司面试心得,有发在 "面试趣" 不要花点数去看了
也是我面试的第一家博弈公司
go的职缺特别多博弈...
所以也去了解一下博弈
我分别与两个组进行面谈devops组 跟 后端组
有跟两个组询问过
是在做什么样的游戏,是否算博弈产业
其中一组回答我说,他觉得自己
是从事软件开发,不是博弈
另一组直接说自己就是在做博弈
就我听下来的感觉是,这间公司开发一些赌博类型的游戏
负责的客户是赌场,
但不会与赌客有接触,不会接触到实际的金流(重点
负责游戏开发,完成后再授权国外公司
devops组 面试经过:
Q1 是否有使用数据库的经验
A1
我回答只有使用原生postgresql的程式,
直接进入数据库练习SQL语法.
面试官表示:
我还不到他的标准,
我想应该是希望我有用go去实际操作数据库的经验.
(第一个问题,我就觉得没希望,面试官佛心教学来的
Q2 询问 thread 跟 goroutine 的关系
A2
回答的不好 连GPM模型也拿出说 但是又解说的不清楚
最后只简单总结说, 可以把goroutine看成更微小化的 thread
Q3 询问我 开 10 个process 跟 10 个 thread,哪一个耗资源
A3
我回答开 10 个process的效能差 , 他问为什么,
我只回答:因为process 就是比较耗资源 ,
现在回想起来 ,我应该回答 ,
因为 process 的创建牵涉了底层kernel的系统呼叫
因此需要消耗比较多的CPU时间 ,当时实在脑袋一片空白
Q4 提出一个简单的情境, 询问我如何撰写一个函数 ,每次呼叫该函数可以使用同一个
instance ,也就是所谓的单例模式
A4
上白板卡了很久 , 明明之前 ,有想过怎么写的
不过面试官很有耐心 ,有询问我有什么
地方不明白或卡住的,可以提出来讨论
最后面试官表示,还缺少一个要注意的地方
如果多个goroutine同时读取,有可能生成多个实例
于是我在函数中 ,加入 mutex ,才终于完成这个白板题
Q5 问我有没有设计过API
A5
我的回答没有… , 问我要不要试试
我当然说好, 面试官假设了一个情境
一个网站上可以显示N个商品 , 显示总共多少页面 , 以及来访人数
面试官给了三个空白要我填写
假设我是前端输入怎么样的 api形式
来得到我想要的结果
第一个空白 URL 格式
第二格空白 status code 会回传什么
第三格空白 json 格式 , response 回传什么样的内容
由于之前完全没有做过api设计
我只读过理论
卡了30分钟以上总是有缺少的东西,不够完整
面试官很耐心从旁协助 最后终于完成一个简单的API设计
从中学习到很多,半路出家没作品真的自找死路阿...
闲聊:
如果将来进到公司,使用的技术
与你想用的不同,我会有什么反应
询问是否可以配合加班
后端组 面试经过:
该组又分三个小组
1.负责游戏前后台的串端,与前端沟通,做api设计以及底层的研究
2.报表资料,提供资料给客户
3.网络爬虫相关,将其他博弈网站的资讯爬回来,比如说大乐透的号码
询问我的自学方式, 为什么当初后端语言选golang
询问是否有做side project
Q1 若一个API 呼叫会使用到一个函数,当API被多人呼叫
如何确定该函数只被一个人实行
Q2 如何确保某个函数只能被100个人呼叫
上述三个小组每组约5人全部15人左右
有进行code review至少给一人看过
每周会有一次后端会议,若没有会议则做读书会分享,
加班频率不高加班换补休
若年底没有修完则换钱,目前该团队有重购的需求
结果:
不意外的是感谢卡
第一家面试就这么冲击我,所以做了纪录
但后面的公司常常只有闲聊,没问什么程式的问题
可能我没作品可以问吧
2. 澄品科技有限公司
五人以下的接案公司
由于版上对接案都说不要去
所以我后续mail 问了很多问题
对方很有耐心,感觉得出来不是求快的团队
重视程式品质
近期想要导入驱动测试的想法
每个案子都1年~2年左右
后端 行动端 pm 各自专职负责
内部伙伴都合作超过5年
常用laravel + go + vue
目前 整个团队在大直驻场
要帮一个美食杂志做一个
跟美食相关的网络平台
提供mac笔电+萤幕
按照劳基法走
薪资结构主要就是基本薪资+伙食费+劳健保自付额
12个月+端午一个月+年终一个月,共14个月
以我的程度 开给我的工作项目是
1.协助规划系统架构,你可以在旁边学,如果有什么意见可以提出来讨论
2.协助进行Unit Test部份,针对后端系统进行Unit Test case规划
3.开发REST API
4.开发Search Engine
5.协助撰写CI/CD script, 应该算Devops
6.AWS相关,例如设定RDS以及EC2等等
结果:
offer get 35K*14
我觉得不是板上说的接案公司类型
目前职缺没有开入门级的工程师
是看到我网络上的履历找上我的
若是对软件开发有想法,或许可以尝试一下
3. 云杉科技股份有限公司
五人以下的接案公司
有接国外案子 也有接银行案子
声称只做有趣的案子
接银行案 是为了生存
iot涉略较多
喜欢尝试新技术
他没问什么 主要都是他讲
有基本程式能力 知道一些名词的意思
应该都挺有机会上的
有特别强调 语言只是是工具,不会绑在一个语言上
主要使用 go, ReactNative, Java
以下老板的看法:
精熟一门语言可以帮你创造‘连结’,让你学新的语言时可以类比参考。
Sequencial Programming
Event Driven Programming
Functional Programming
应该是目前看的见的三门不同思维逻辑主流
除了FP使用的机会低一点,其他两种我们日常的使用量都不小。
程式学习之道无他,动手。
每个人有自己适合的摸索方式,有的人需要老师教,有的人看书
有的人看语言定义文件,这是你需要自己摸的。
毕竟别人给的都是‘建议’,不用负责。只有你需要对自己负责。
他说不相信 一次面试 可以看出什么
主要还是看 后面的一个月试用期
如果觉得你处理不来 那之后就掰掰
老板觉得一个月的薪水看你一个人的素质
他扛的住 付得起 0口0
第一个月主要 看书+给题目 学go+react
结果:
offer get 试用期 40k
但因个人因素,又被收回offer
对与人沟通,发问问题,学到了一课
伤心了一天QQ
4. 香港商天奕科技台北办事处
golang telegram 发出的招人文案
有找架构师 跟 一般工程师
无工作经验的我 很不要脸的私讯 给履历XD
很快地进行电话面试
问一些履历上的问题
然后问了一个问题 erlang style message passing
跟 golang 有何不同
当下google查erlang语法,我没学过erlang阿
最后没回答出来
约了正式见面的时候,再给他答案
第一次面试后被team leader(DBA)建议了几点,比如说
服仪跟表达方式
评价我的技术不到junior
只有entry level
但概念性的问题,回答还可以
给我机会
要我用GO模拟
做出简易的erlang的讯息传递方式
第二次面试呈现给他看
台北的团队主要负责 DroiBaaS(backend as service) 这项服务
全服务都用go开发
工作内容 维护占多数的样子
最近有开发新的功能,刚上线没多久
结果:
口头 offer get
跟我说应该是可以满足 我一开始的期望薪资
还是要等流程跑完才可以确定
等待中
5. 特雷维科技有限公司
投递履历后,给了一个案例,进行简答题
Q1. 使用何种资料结构? 所需空间复杂度为何?
Q2. 使用何种方式过滤? 所需时间复杂度为何?
Q3. 使用何种方式进行测试?
Q4. 在运作期间要更新的话要如何处理?
回答OK才有面试机会,不然就掰掰
请表现出你找资料或学习的能力
不要想说自己算法很烂就乱回答
尝试google 找一个自己可以理解的答案填上去也好
现场面试,先来个三题白板题 30分钟作答
最后我只做出一题
而且边界条件 跟 特殊情况都没考虑到
所以到此为止
公司给我的建议
1. 若是新进入领域的话尽量准备能说服公司录取您的武器
e.g. 算法,作品集(不只是文章,还包含实作)等
2. 针对主力应征的公司客制化重点更明确的 resume
结果:
感谢卡,这家版上有发征才文,说有上就是50k起跳
其实现场考的三题白板题
被告知解答后,真的不难
需要对数字有敏感度,以及细心度要足够
只能说自己能力不足
6. 璿宇数位有限公司
博弈公司
团队是一群认识的 共6人 主要都是后端
自称在各领域 系统场 游戏 接案 有10年经验
php 框架用yii2 laravel
使用经验丰富,踩过很多雷知道如何避开
面试的对应看来
相信是一个工作气氛很好的团队
团队也是最近才开始学习golang
该团队算是技术委外单位 打算用go 做风险控制系统
新产品 风控系统 看看客户有没有诈赌之类的
有点像是 监测 客户 送来的 request 是否正常
在台公司 是大陆金主 给予这团队的外壳
所以团队好像也不太熟公司
刚接没多久的样子
觉得有点像是 博奕公司 包给一个接案团队
然后给他们一间公司 做事情
算是我自己的猜测,我并没有太直接的询问
不谈公司本身,觉得主管对技术面还是有自我要求的
团队给我的建议:
建议学习新技术的心态,不要从技术面出发,而是要从需求面出发
毕竟上层的变化太快了,三天两头就会有新的技术出现
如果只是单纯的追新求变,会花费很多时间在未来可能被淘汰的技术上
把系统规划基本功做好,精通至少一门后端语言,才能走的长久
结果:
offer get 45k*? 没问得太清楚
虽然觉得主管跟团队不错
我不排斥博弈
但团队实在太不熟公司
让我有点怕,所以拒绝了
也可能只是我想多了
7. 尚芳国际兴业股份有限公司
传产,在树林
做电子游戏机台 官方网站看了不忍直视
心想大概又是个不看重软件开发的公司
但我还是去面试了
一开始先填 基本资料 性向测验 (我开始想走人了...
然后开始解程式相关的考卷
1. by value , by ref差别
2. thread goroutine 差别
3. interface的意义
4. go的型别,或使用上,举两个可能造成的效能问题
我回答 slice 每次都用append自动扩张,会有效能问题
以及 goroutine不能无限制地开启,要限定数量
5. 有用过那些 design pattern
6. restful api ?
等等 太多问题
然后终于开始面试
公司想在手游开发新的业务
目前做了第一版的游戏,进行内部测试
前端Unity 后端golang
谈了一些 公司 对软件部门的看法是什么
官方网站怎么用成这样
主管表示,他刚进来公司也是这样的感受
但在他这部门,上头都是完全交给他处理
网页门面不是他可以干涉的
在公司内 原本就有unity团队
来做电子游戏机台
使用“Scrum”和“敏捷软件开发方法”进行游戏的开发。
code review 、 unit test 都是必须要做的工作
已经进行了5~6年,上头老板是真的有放权的
我觉得是真的有重视软件开发
也打算把这套用在golang的后端开发上
目前只是刚开始,还不能确定手游路线是否顺利
结果:
无声卡,是说会有第二次面试,但没等到
不过还是推这家,如果你写unity可以尝试看看
golang的话目前只有主管在使用
8. FLO
在板上有征才,先被嘘 从底层到应用层都要会
然后改要求,只要懂应用层就可以,又有使用go
所以我就尝试投履历看看了
面试地点在 圆山花博
主管分三次面试,把所有成员都跟我介绍了一次
非常有心
也询问了很多基本问题,让我知道缺陷在哪
评价是 基础没打很稳,就去看对目前的我来说
没太大作用的知识
比如说 golang的调度器运作、GPM模型
但肯定我学习的态度
有跟我说 录取的机会不大
目前是冲刺阶段,需要比较有经验的人
面试很用心,得到很多回馈
结果:
后续出了一个题目,团队还是希望看看各个候选者
实际上会用什么方式作答
不是强制的,看自己要不要做答
之后会找时间完成这个小项目
没什么进展XD
9. 博创行销有限公司
特别提一下
工作福利不错
程式是外包给人做的
现在想接回来自己搞
公司内无技术人,面试官是行销方面的
一开始用py 后来用 go
架构似乎改很多次
我听完就 之后发拒绝信 不前往第二次面试
比较适合高手去接...
**********************************************
以上几家是我觉得,值得我花时间分享心得的公司
其他面试大多问经历,或是闲聊
我没能从中得到些什么回馈
感觉看我没作品,就没心要继续了,履历不是都写了吗...
大多数都博弈,让我多知道一些博弈在做什么
所以我就不再多提其他面试的公司
5月2日就要上工,希望3个月后试用期还留得住
终于走向第一份后端工作,晚人家好多年阿~
非本科就只能加油啦,还有很多要学习的
希望这些资讯有用
作者: Tokaku (慵懒猫的下午)   2019-04-28 11:56:00
谢谢分享
作者: BignoZe (BignoZe)   2019-04-28 12:00:00
作者: Hevak (Arthow Eshes)   2019-04-28 12:02:00
推分享,初阶 go 的分享少见
作者: BlacksPig (Black Handsome s Pig)   2019-04-28 12:10:00
作者: qrtt1 (有些事,有时候。。。)   2019-04-28 12:19:00
有看有推。
作者: MOONY135 (谈无欲)   2019-04-28 12:38:00
感觉第一家好像蛮屌的
楼主: x246libra (楓)   2019-04-28 13:03:00
QQ 丢很久了吗? 觉得他们公司挺有礼貌的应该是不会这样 因为连我回答得很烂都有回复
作者: w199381 (恶心肥宅)   2019-04-28 13:10:00
推转职心得
作者: bben900911 (Ben)   2019-04-28 13:16:00
5我也有丢,同样没有回应XD一周前丢的,也有可能还在审履历吧 哈哈
作者: lokstory (瞎说五唬将)   2019-04-28 13:31:00
推,最近也在看中高阶的Golang,但几乎只有博弈
作者: Luluemiko (露露)   2019-04-28 13:42:00
作者: xu3fu6xup6 (轮胎一枚)   2019-04-28 14:29:00
go面试不是先打开b站原始码吗
作者: CodingDuck (框框)   2019-04-28 14:42:00
在 gopher meeting 上有看到你,但我害羞了不敢打招呼XD此外借串解释一下,如果有投递特雷维无回音的,还麻烦再来信提醒一下,可能忙中有漏,非常感谢喔~
作者: lwtech   2019-04-28 14:51:00
协助规划系统架构...然后开35K,公司有 CTO?当然这里是鬼岛,其实大家都是出来混的,别太在意。
作者: sb107912 (三等士官长 >)))   2019-04-28 15:03:00
35K...我相信待不到两年 就会想换公司了
作者: lwtech   2019-04-28 15:10:00
主要原因应该是 大家都是用 legacy code 继续搓汤圆,网络上目前有很多 比较好的架构,旧的东西没人会整合上去所以只能大家双手一摊,应证了一个人走的快,一群人走的远
作者: GGFACE (ggface)   2019-04-28 16:43:00
推推
作者: wavek (狗猫猫 m(OvO)m)   2019-04-28 22:01:00
推!
作者: ripple0129 (perry tsai)   2019-04-28 22:18:00
现在的初心者面试都这么硬啊
作者: rog43 (Ed)   2019-04-28 23:56:00
推一个 感谢分享
作者: waiting1102 (夜不眠)   2019-04-29 09:25:00
作者: jacknotblack (大飞飞)   2019-04-29 09:49:00
感谢分享 管服仪公司我第一个刷掉
作者: shooter555 (shooter)   2019-04-29 10:25:00
现在面试都好硬的感觉0.0结果我们公司只是要找个会C的都找不到
作者: loadingN (sarsaparilla)   2019-04-29 10:50:00
薪水开高一点,就找的到了(无误)
楼主: x246libra (楓)   2019-04-29 11:19:00
会c的纯软吗? 感觉要跟硬件相关的公司 抢人 不好抢
作者: i1239a8e (MoDon)   2019-04-30 22:53:00
楼上真假我倒是找很久都没啥好消息
楼主: x246libra (楓)   2019-04-30 23:25:00
我只是想说嵌入式韧体这些钱多的,通常都只要求c语言啊,纯软感觉薪资很难竞争吧

Links booklink

Contact Us: admin [ a t ] ucptt.com