从最近的面试中学到了什么

yellowone · · 2574 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

面试经过

我第一场面试是面试的斗鱼,挺紧张的,不知道会面试我什么内容,后面面试完就释然了,听hr说面试官说很肯定我的技术,我还因此沾沾自喜。也没对那些问到我不会的东西去熟悉学习。同一天下午是腾讯面试,面试官一上来就是五道面试题,但是当时太紧张了,感觉自己表现不好。但是面试还是过了。

刚开始面试的节奏挺紧的,也都过了,腾讯三面也进入评估了,但是因为还有其他人对比评估,后边被刷掉了,说是工作经验的问题,因为大部分都是三年工作之后跳槽,我工作两年也挺吃亏的,就被刷了。后面hr帮我推给了其他部门,但是那个部门是做对接的,感觉不是我想做的,答得不好,也没有后续了。

然后斗鱼和金山是一起面试的,一起过的,结果三面约在差不多一个时间段了,三面是总监面嘛,问的东西并不是很靠近技术那边了,开始问起职业规划来了,我没有什么准备(其实是当时还没想清楚以后一直做什么),斗鱼问职业规划,问我们公司的开发流程,答得不好,开发流程简陋也说明我的经验暂时只局限在小公司。金山也答职业规划,我当时准备了一下,但是不按照自身出发,就在网上查了查,结果面试官问起一些细节的时候就开始答不出来了,后面不出所料,都挂了。

后面金山我把推给了广州金山的,后面又问职业规划,哈哈。当时的我还是没想通。

面试下来,体验最好的是金山面试,应该每个面试官都很会聊天,说话很好听,我面试金山云三面+广州wps一面+珠海wps两面,一点都不累,而且每次面试完都感觉自己收获了很多。珠海wps现在给到口头offer,但是审核好像卡住了,也不知道能不能去,如果能去的话,近期的面试应该要结束了。

后面拿到口头offer之后,又面试了虎牙的游戏开发岗(在拿到offer之前的时候约的),是一个做小游戏后台的部门,感觉有点兴趣,面试官跟我聊了很多游戏的发展和看法,技术问的少,他面试差不多快结束的时候说了,我可能更适合平台架构之类的工作,他们部门比较注重业务,不知道有没有后续。

加起来面试了腾讯4面,斗鱼3面,金山6面,虎牙1面,总共14次面试。

关于面试带给我的

一开始被挂了腾讯,斗鱼,金山之后,我一度陷入了自身怀疑的状态,后面在我的女朋友的鼓励下,自己慢慢就想通了。

人生真的是很长很长的,最怕的不是你走得慢,而是你不知道往哪里走,面试给我的感觉就是给我指明了一条道路。

关于自身现状的思考,最近的学习目标,关于人生规划的思考。

自身现状的思考

以前在上班的时候,真的是舒适圈,不忙的工作,每天上下班特准时,回家能吃到热热的饭菜,自己看书学习没有压力,每个月工资不算特别多但是也够活。

直到被面试官问到工作经历的时候才醒悟,原来自己做的事情是那么单薄。但是公司的业务量就那么大,虽然这家公司很舒服,但是我也意识到自己必须脱离这个舒适圈了,这也是最近让我想换工作的很大原因。

而现在又在帮公司做lua语言的换皮游戏,这真的不是我想要的了,感觉跟我想做的事情越来越远。

最近的学习目标

各种底层的设计实现和实现,之前看到一篇博客。

感觉挺符合我这样一路走来的感觉,我也感觉到了同样的困境和疑惑,看看大神的博客会有很多感悟的。

看书可以不用那么纠结细节,但是带着问题去看书,多问为什么,多对比其他类似的工具,相比其他工具的实现,这个工具的实现怎么会是这样子的,会有什么好处和坏处,如果让我实现,我会怎么实现。

  1. 最近看完了mysql高性能,为什么查数据会那么快,他做了什么优化和努力,我在我的业务中有可能沿用他的设计吗。
  2. 看完了redis设计与实现。
  3. 遇到一些有意思的golang包觉得很神奇,有空的时候也会点进去看里面的实现,跑跑golang自带的基准测试,相同的功能但是性能相差在哪里,为什么会有这个差距,我们该避免什么。
  4. 学习了golang的内存分配,协程调度,只能用在面试吗?肯定不是的,举个例子,比如知道内存分配和协程调度,写代码的时候,如果一个读取函数里,有个临时数组被频繁的创建,正常人可能觉得正常无所谓,但是有这方面的知识,就会想到用sync.pool去缓存对象,为什么缓存的对象是线程安全的,为什么要减少内存的频繁分配,如果不了解原理的话永远都不知道。

最近的话想看etcd的相关的内容吧,因为被金山问到两次了,只会用,并不是很了解它。

大概是这样的学习思路吧,通过看书,看代码,想原因,总体学完了一个东西,确定下个要学什么以此推进。

学了这些会有什么用呢?就最直接带给我的感受就是,mysql,redis更会用了,知道什么时候用什么数据结构更好了,表设计,索引设计,能怎么更快,缓存设计该用什么数据结构,会有什么时间复杂度,能做到心里有数,写出来的代码更加自信了。因为在写业务的时候这两个工具是用得最多的。

至于架构的设计,我现在的工作经验可能并不是很丰富,可能还没有用武之地,但是也会从工具的设计中学到东西,可能会想象自己做设计会怎么设计。

比如看mysql,redis的架构设计,他们是如何处理连接的,如何鉴权,拿到连接的数据是有状态无状态,有状态如何保存,无状态消息队列如何处理,或者怎么设计的,返回数据又是通过这么方式返回的,拿到数据之后如何分发,分发的处理又会到哪里进行统一等等等,我能不能在我的业务中使用,什么时候能使用。

职业规划的思考

几次面试都是挂在三面,或者说挂在迷茫。这方面就一直在想,我是想成为什么样子的程序员。

慢慢地越想越前,慢慢的就变成了我是一个什么样子的人,这样子的人做什么比较好。

我是一个遇到什么技术就会喜欢,也会很投入的人,一开始公司想往k8s发展的时候,看了k8s的书(虽然现在忘记了),知道一些概念,知道istio是干嘛的(虽然现在也忘记了),那时候就想往云平台,往运维开发发展,后面公司尝试失败回到虚拟机时代,我自己也入职不到一年,也没什么自信,也放弃了。

后面想做好看的管理后台,从js学到react,学antdesign ui库,学ts,那时候觉得前端好有趣啊,对比后台,直观太多了,而且ts也弥补了js动态语言的短板,写起来还挺顺手的,还跟上司反映了想去前端工作一段时间,虽然被拒绝了,因为后台工作确实还是需要人的。那时候就想做全栈工程师。

至于现在,就想写更好地代码,弄清楚每一个模块的作用和实现,对各个东西都更加清晰,以此来提高自己对架构的各个模块的把控程度。

刚开始面试的时候说想做架构师,但是架构师是什么当时可能都不太了解。现在知道了,也知道了架构师不是那种说说而已的存在。是真的需要大量的积累和实践的。一个用户的流量进入到你的业务设计里面,如何流向,哪些地方可能容易出问题,对运维,对机器也要有所了解,知道哪里可能出瓶颈,出瓶颈了要怎么办,限流设计,并发设计,甚至对业务数据,给运营人员提供的统计数据怎么才比较合适,都要知道。而这些,都是需要基础扎实和大量实践磨炼出来的。

无论如何,我都保持着对技术的热爱,学了前端,跟前端人员更好地交流,在设计接口的时候会考虑这个东西前端后台那方去实现比较好。在给运营人员做管理后台的时候留个心眼,注意哪些数据是他们留意的,这都是收获。

面试的总结

面试的时候看开点,其实面试的时候,你投的那些公司付出的更多,你可能只是晚上回家面试面试聊聊天,而他们从选人,面试官,总监这条流程一条条往下走,所以我会每次面试完了都会谢谢面试官,因为他们比我这个菜鸡时间值钱多了。就算你面试没有过,他们付出的东西,事实上是流入到你的经验里面的。很开心地每个面试官面试聊天,很开心地结束每个面试放松放松,很开心地总结每个面试哪些不足,哪些表现可以,哪些表现不行。

面试不通过的时候,那些面试你的公司失去了时间,什么东西都没有得到,而你却确确实实成长了,说得直接点,他们对你付出了,而你还很气他们,你不就是渣男了吗。

面试通过的时候,要知道这是双向选择的过程,薪资设置底线,去了是否有发展都要考虑好,毕竟一去可能就是好几年了,人生又有几个好几年了,现在多忙活几个月好过难过好几年,所以加油吧。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:yellowone

查看原文:从最近的面试中学到了什么

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2574 次点击  ∙  1 赞  
加入收藏 微博
1 回复  |  直到 2020-08-29 17:19:28
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传