不知道你们有没有这样的感受,就是当学完了一个知识点,可能知道怎么用、知道写代码的步骤(像套模板一样,按照案例、步骤一步步码出来),反正就是代码我能写出来,但是这个知识点是什么?为什么用它?在哪里使用这个知识点?往往就不是很清楚,有点印象、模模糊糊,理解不透彻。
平常工作的话,知道怎么用、知道怎么实现该功能,反正能完成任务即可,管它那么多!
那么问题来了,既然平常工作都没什么问题,还管它那么多干啥呢干啥呢。。
原因有两点:
一、深度掌握(用起来得心应手)
不只是照抄搬运,不是所有事情 copy 就能实现,要合理利用以前写过的案例,实现过的项目功能,懂得哪些地方能抄,也要懂得想改哪里就改哪里(就像一个人物换了个皮肤,相同点还是不变的,不同点就需要自己去发现去改造了,比如:变好看了,攻击变强了。。)
二、面试
大家都知道一个完整的面试包括三个流程(1、笔试 2、技术面试 3、hr面谈)
当然也有不用笔试的,2轮技术面试的也有,没有 hr 面谈的也大有存在,CTO 直接就能决定你的薪资,这也是小公司和大公司的一种差异
1.笔试:也就类似我们平常的考试,选择题、大题都有,只不过是综合的罢了(基础)
2.技术面谈:
- 就你写的技术进行提问(一般有三种掌握程度,了解/熟练/精通)
项目上的提问(实现的过程、某个难点技术、碰到的 bug、团队开发遇到的问题都有。。)
这就不仅仅是 知道怎么用、知道怎么实现该功能 就能过关了,和下面演示的 3个W反问 有关系了。
hr 面谈(恭喜你基本已经被录用了,谈工资这一块了,砍价、福利。。)
知识点分类:
1.死知识(不用死记硬背,API 文档、笔记、博客查阅即可)
2.理解性知识(理解实现原理,懂得框架,实现时灵活运用)
以 socket 知识点为例:
———socket———
what
是什么?(概念、理解)
socket(简称 套接字 也称为插口–流对象) 是进程间通信的一种方式
why
为什么用?(好处,特点即不同点)
是实现tcp和udp的底层技术,实现 不同主机间 的进程间通信
where
在哪使用?(案例、实战)
网络程序发送、接收数据(发短信、打电话、广播)
————end————
人生苦短,我用 Python,为何你要用 Python?———杠精