作为一个native端开发者,当年不知道怎么想的,把简历投给了阿里的前端部门。。
因为是同学帮忙联系的内推,所以很快得到了好几个部门的面试电话,但无一例外都是一轮挂。虽然大部分是因为我想跨领域但是对主流前端框架和css之类基础知识的缺乏,但其中有一个手机native部门的面试也挂了,这给了我很大的冲击。连最对口的领域都过不了一面,就不用拿跨端跨行业之类的理由来搪塞了。菜就是菜。
总结一下这次面试的收获:
1. 学的太杂,native app,前端,node.js,java后端,没一个有独当一面的专业能力。
2. native app 没有自己制作的上架 app
3. 前端基础的css不懂。
4. 前端常用框架里react全家桶只知道和react-native互通的一小部分,没有作为前端项目使用全部全家桶开发项目的经验。
5. 后端 node.js 只有简单工具的开发经验,没有大型项目的开发经验。
6. 后端 node.js 没有主流框架的相关知识。
说了一个express,被说那已经是几年前的技术了。。。
7. 想做 java 后端,但完全没有一点准备。
这个是我想的太少了。既然完全没准备,就不该提这个的,徒增坏印象
8. 列举自己做过的有价值的项目,都不是很有价值。
完全理解http/1.1协议,独立实现http代理服务器,被说http只是基础而已。举了几个debug的例子,但显然debug能力对提升印象并没有什么帮助。虽然实践工作中debug能力强弱基本可以区分一个程序员的能力强弱,但在面试的时候很难把现场工作时的那种重要性传达出来。毕竟只是区区debug而已嘛。
整理一下思路:
1. 考虑到服务器端知识衰减的速度更慢,适用行业更多所以就业机会更多,我长远的打算还是转到服务器端。
2. native app 能力是我现在的主要门面,所以 native app 的开发能力一定要优先提升到让人无可挑剔的程度。至少不要在一面就落了吧。
要做一个上架 google play 的作品。
熟悉 android 主流开发中各个环节常用的库。能用一下最好用一下,不然至少知道名字和特点,不要在面试的时候没得说。
3. 前端技能树是我第二接近实战级的能力,而且看起来学前端并不会投入太多时间。可以考虑少量投入时间,填补现在的几个太明显的缺陷。
css,拿 mdn 顺一遍。因为很枯燥,最好做个打卡。
react 全家桶,在自己的项目里用一次就会了。全家桶具体有哪些,得找些文章确定一下。
4. 后端技术,这个比较纠结。
就职来说,php是最好学,需求也最大的,做好了也有很高工资。但是技术深度太浅了,老年程序员和新手程序员之间拉不开差距,后期收益低。
保值增值方面,java的后端几十年如一日的缓慢更新十分保值,同时java版本更新和jvm的深度让深入研究也有一定的回报,后期收益至少不会一路减少。但java后端我现在真的是一片空白,毫无概念。这样的跨专业押注会不会太过无谋了?暂时先考几个java的证书,熟悉一下这些年来java语言的变化吧。就算后来java后端做不成,至少对android开发还有帮助嘛。
5. 准备一下面试常见题型。
从业经历呀,自己做过的比较有代表性的项目什么的,这类每次都问的问题干脆写好背下来算了,也免得临时想出来的项目不够酷炫。
不过工作中确实很少有机会让一个人做一个特别有挑战又很尖端很出彩的工作啊。业余项目我说做fc模拟器什么也完全被无视了。不过这个和商业开发无关,不算数我也不是不能理解就是了。
所以,接下来首先应该怎么做?
接下来应该…先什么都不做,等我的焦虑症状消退,恢复平日的战斗力再说!
焦虑真的太痛苦了,焦虑得什么都做不了,同时又为什么都做不了而感到焦虑。真的恐怖而且绝望。
我需要严肃考虑一下,如果我注定无法再做有挑战性的工作的话,该如何在不能继续保持技术力压制的情况下,作为一个平庸的技术人员度过这一生了。
为干枯的生活,注入新的活力。