求职经验分享(4):怎么加深技术深度?方法论篇

“面试造火箭、工作拧螺丝” 这便是招聘求职面试的常态。

话虽如此,提高技术水平自然是程序员必备的能力,技术水平又包括了深度广度,后续我们将从深度和广度两个大方向各用两篇文章说明,包括了方法论与实践。

接下来本篇内容将和大家分享的是对“技术深度”的方法论一些思考和学习建议。

对于深度与广度的抉择,可以分为前和中后期两个阶段来做考虑,起码我是这样的想的:

前期也就是刚开始工作的三五年内,刚从学校出来,身上所掌握的东西还没有完全能跟得上整个公司的脚步,这个时候必然是以深度优先,用自己的技术把岗位的职责做到游刃有余,是大多数新晋开发者都应该追求的境界。先求深度,再求广度。

1、为什么要加深技术深度

很直接的两个表层原因就是:

1.工作需要

如果技术深度不足,碰到问题停留在表面,那么很有可能无法胜任工作,这是非常“致命“的...

2.面试需要

对于面试来说,技术深度最能体现出候选人的能力。

以个人校招面试经验举例:

面试阿里、美团、快手等大厂时,如果想冲刺sp甚至ssp,那么在面试过程中必须体现出技术的深度,这不仅仅代表技术的水平,也能侧面体现学习的态度和学习能力!

所以应付面试只是表象,底层反映的是持续学习的态度和专注自我提升的能力!

2、学习层次认知

我们先看看加涅定义学习的层次:

陌生——辨别——概念——规则(方法,套路等)——高级规则(解决问题)。

对应到我们技术,在我们技术简历上面,经常出现的词汇:

了解——熟悉——掌握——精通——专家,这就是由浅入深的形象描述。

1、了解:入门,简单的认知和记忆,表示知道。是最低水平的认知学习结果。

2、熟悉:概念,了解概念得清楚,清楚地知道概念;(对某种技术或学问)侧重于知道得清楚,比了解更进一层。

3、掌握:规则、应用规则到实践,是在熟悉的基础上能充分加以运用。

4、精通:高级规则,深入底层。

5、专家:扩展创新

这里大家还可以参考老白的学习路线 学习路线 ,可以看到老白的学习路线就是按技术深度排列的~

参考骨灰级大佬的观点(来自极客时间的《左耳听风》专栏):

1、了解:这个技术出现的背景、初衷和要达到什么样的目标或是要解决什么样的问题。这个其实就是回答:“我是谁”,“从哪来?” “到哪去”的三个哲学问题。

2、熟悉: 这个技术的优势和劣势分别是什么,或者说,这个技术的 trade-off 是什么。任何技术都有其好坏,在解决一个问题的时候,也会带来新的问题。另外,一般来说,任何设计都有 trade-off(要什么和不要什么),所以,你要清楚这个技术的优势和劣势,以及带来的挑战。

3、掌握:这个技术适用的场景并应用实践。任何技术都有其适用的场景,离开了这个场景,这个技术可能会有很多槽点,所以学习技术不但要知道这个技术是什么,还要知道其适用的场景。没有任何一个技术是普适的。注意,所谓场景一般分别两个,一个是业务场景,一个是技术场景。

4、掌握:技术的组成部分和关键点。这是技术的核心思想和核心组件了,也是这个技术的灵魂所在了。学习技术的核心部分是快速掌握的关键。

5、精通:技术的底层原理、关键实现、本质。任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其它技术的关键基础技术。所以,学习这些关键的基础底层技术,可以让你未来很快地掌握其它技术。

6、精通:已有的实现和它之间的对比。一般来说,任何一个技术都会有不同的实现,不同的实现都会有不同的侧重。学习不同的实现,可以让你得到不同的想法和思路,对于开阔思维,深入细节是非常重要的。

7、专家:扩张创新。

3、技术实践和从问题中深入学习

要真正的精通一门技术,最终还要通过实践来深入。就像游泳教练,必定游泳水平好,因为这些都是实践性很强的工作。书上学来终觉浅,绝知此事要躬行。

在实践中,遇到问题,不仅只解决问题,还要对问题刨根问底,深入挖掘问题发生的根本原因,这样可以系统性地修复问题,从而使其永久消失。

我们中国古代以来就有“打破沙锅问到底”的习惯;“打破沙锅问到底”是一句俗语,形象表达了锲而不舍、不断探索的精神,这是人们常挂在嘴边的一句口头禅。

我们遇到问题,从外到里,逐层分析:

1、问题表象是什么

2、直接原因是什么?

3、中间原因是什么?

4、根本原因是什么?

真正的解决问题必须找出问题的根本原因,如果只解决问题,而不深入问题背后的根本原因,这门技术也是不够深入。

比如:

问题:java应用出现超时抖动?

1)解决:Java应用出现FGC. (增大 -Xmx -Xms 内存设置)

2)直接原因:流量激增? 长时间运行? 代码问题导致占用内存对象不释放?。。。

3)中间原因:流量没有做预警? 研发人员能力问题?

4)根本原因:JVM虚拟机的基本原理?GC机制? JVM性能监控?。。。

简单小结一下,本篇与大家分享的内容更多的是提供方法论以及提高对“加深技术深度”的认知,平时从实践中去深入学习问题,解决问题不能停留在表面,要学会从里到外逐层分析,借助解决问题去深入学习。

方法论篇终归是理论思想和认知的提高,下篇会继续更新实践篇,会有个人亲历的一些不错的实践方式分享给大家,欢迎大家追更~

参考文章:

https://zhuanlan.zhihu.com/p/267322015

https://cloud.tencent.com/developer/article/1428950

https://blog.csdn.net/zhiguigu/article/details/121017389

 --------------------------------------------------------------------------------------------------------------------------------

更多精彩内容请关注公众号:绝命Coding

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值