前几天参加了掘金的经验复盘活动,得到了一次和郭老师1V1面试指导和职业规划的机会。
文章链接:春招打卡活动链接,灰常感谢掘金给的这次机会~~
郭老师分享了很多关于技术方面的学习经验和简历方面的一些建议,学到了很多故写下这篇文章来记录。
简历方面
专业技能
专业技能不需要精确到技术实现,重点突出精通某项技术,其他体现我们的能力范围。
着重的技术点体现也可以让面试官在问问题时有针对性,能够针对你所准备的去面试;同时能力范围方面也要体现出对未来技术的感知
项目经历
项目经历也不要太细,太细容易表现得像螺丝钉或者不够深入
这里列出几个项目经历上面的注意点
- 所用技术框架不是特别新
- 所负责模块比较少
- 只是重复的业务开发
先从面试官的角度看下所对应的理解:
- 对新技术的迭代并不了解
- 只是在做一些打杂的事情并不能独立负责一个模块
- 对技术只停留在使用阶段没有探索和思考的能力
因此我们需要改进这些话术,从以下几个方面进行切入:
技术迭代跟踪能力
尽可能使用些新技术框架
体现出自己对技术迭代的跟踪了解和热爱,这点对于一个开发多年的工程师尤其重要。
独立负责能力
我之前的简历就是一个很好地反面教材,可能是由于技术不过关所以一直在做些后期的维护和简单的迭代,总之简历里面并没有体现出可以独立负责一个模块的能力
思考总结能力
这部分也是最重要的一点,要具体的写出XXX框架用了XXX技术,对XXX技术的哪些细节比较精通,在使用过程中碰到了哪些问题?用了哪些方案解决?
程序优化保持"perfect"的能力
技术的使用参照api文档就可以接入,但是不应该仅仅停留在能够使用上。
在使用过程中碰到了内存泄漏性能优化怎么处理优化的,通过了哪些工具检测,哪些地方不好找最终是如何解决定位的,问题解决后通过一些分析指标来分析优化后的直观效益,要做到优化可量化呈现。
总结
也就是说要体现出你在这个项目里的存在感,特别是所做的东西达到了什么效果有直观的体现,并且有差异化。
面试碰到的问题
有一部分公司可能只是为了完成他们的kpi而去面试但其实他们并不缺人~~
除此之外来谈下面试:
- 会根据面试公司的业务去考察面试者。这部分在之后的行业发展中在继续说
- 面试的过程是一个循序渐进的过程,由浅入深不断深入。
- 当面试官问道不会的时候,可以像面试官这样说:这块没有接触过但是我做过其他类似的内容然后进行引导面试官到自己所熟悉的领域中;也可以说这块问题没有接触过,但是我在某个方面也深入了解过,表达出自己在某个模块也有深入。
- 在介绍项目时,真正有亮点的还是开发过程碰到什么问题,怎么解决的。解决了这个问题后他背后的原因是什么
人无完人,不可能每个人在每个方面都是很全面的。
不同求职者都有自己擅长的,要把话题往自己擅长的领域这边拉
技能提升方面
业余时间可以使用Github接口或者wanAndroid App的接口。使用没用过的框架接入到自己的框架中实现一个App,在开发的过程中把碰到的问题记录下来,去思考为什么并输出到文章中,相当于自己的一份背书。并把这个App放到自己的Github中。
当自己的学历没那么好时,这时候一个稳定输出的高质量博客和一个不断尝试新技术总结问题的Gihtub也会大大加分。
Android现状
很多公司现在都会问些对Jetpack,compose,flutter的了解。整个Andriod市场经过淘汰了一批的三方框架之后已经很成熟了,并且Google自己也推出来一整套的开发体系,需要用到三方场景可能会越来越少。
也意味着现在进入到了一个快速开发的阶段,需要的开发也变少了。那么更重要做得就是形成自己的背书。工作中碰到的问题记录,在探索背后是为什么,在输出文章发出来。
新框架的“新”
在此之前,我一直意味新框架都是一些新事物需要花费大量时间去学习,其实很多框架只是变成了更符合Android的特性,只不过增加了官方的支持,或者使用了另外一种形式将其分离以更加具体的形式提供给开发者。
职业规划
选择行业
很多时候我们选工作都不是特别关注行业,基本上我们都是面向薪资去找 Android 开发的岗位,但是其实前 3 年这样很正常,因为需要累积开发经验和能力,但是在3-5年,5-10年的时候,就需要关注行业。当然这个前提是你有能力吃饱,有得选择的前提下,选一个行业去发展。
因为尽量在一个行业内混,可以给你有更好的背书:
- HR 看到简历会觉得你在这个行业更有经验
- 同样的技术能力简历可以更突出
- 对以后做项目管理、产品管理或者转后台开发有行业经验积累
- 10年的电力行业程序员比10年的Android开发工程师更有价值
但是这里面也是有一定的风险,这个行业可能会突然萎缩导致失业。比如教育行业
专业技能
首先这要建立在对 Android 有深入的学习和理解,但是不要把自己打上 Android 的死标签,开发到一定程度和年限之后,框架只是工具,Android、Java、Go、Flutter、SpringBoot、Vue 都是实现目的的工具,需要的是开发的能力,成为一个工程师使用 Android,而不是只能靠 Android 而活。
提升其他技能
其实很多大佬,比如虽然是 Android 开发,但是他们对于后台、前端、iOS都有一定程度的开发能力和了解,甚至不少大佬在需要的时候会选择转岗去获得新的机会。
硬实力
这里有段话感受比较深:本来大家都是 UI ,不管是什么框架,有资料有文档就可以上手,学会通过源码去调试和发现解决问题,这能给你后续发展有更大的余地和天花板。
开发框架大多都是在往快速开发阶段走,比如Google的Jetpack全家桶,以前需要写很多工具和三方框架现在全都整合在了一起并且加上了Android开发特有的特性。
一些小建议
其实工作中可能主要都是重复性的业务开发,是否有遇到什么技术问题,然后针对这个问题进行深入探索,通过这个问题对涉及的面有一个全面的理解是很重要的。
然而现实却是很多人经常停留在解决问题,解决完问题记录下解决的方法,就没有然后了。
其实针对这个问题背后的原因,通过问题去理解和熟悉底层,其实就是最好的深入。
推荐直播链接
金三银四下程序员的自我修养 郭老师演讲时间:两小时六分二十七秒
感谢郭老师给予的帮助和指导,老师指导很耐心也很认真。郭老师链接: