近期我和很多候选人进行了一些交流,在技术交流过程中发现了一些普遍的现象,很多情况候选人都了解存在的问题,但是又不知道如何去弥补这些问题。今天我来和大家一起探讨下,然后提供一些建议,希望能帮助大家。
在说问题之前,我们先抛出一个面试题,这个面试题设计是由浅入深,看你对知识点的掌握程度。
在聊的过程中,有这种场景回答 举个例子
“老师,这个知识点我看过,大概就是这样这样…如果说具体的概念,我用专业的术语说不上来”。 “老师,这个我知道,后面如果需要,Google 下应该就没有问题了”。 “老师,这个知识点,我没有用过,所以我不是很了解”。
这里问题就在于大家平时没有注重积累,看知识点不能只是看了就结束了,应该要注重练习实践。正好最近上了一个陈振平老师的课,里面有一个叫做 费曼学习法
同样上面的问题,在遇到第五个问题时,有些同学会这样回答我
“老师,那一般是后端处理的,所以这块我不是很了解”
如果你这样回答,那么在面试过程中会大大的减分,先不论这个知识点前后端区分,即使是后端的知识点,你对跨域整个知识体系来说也是应该需要掌握的。 同样的,我们会面临很多这类问题,又比如网络相关的,我们都听过一个面试题
从 URL 输入到浏览器之后,浏览器发生了什么
这个问题时非常常见的,那么把问题改进一下
如果有用户反馈网页响应慢,那么从你角度思考下,这中间会有哪些原因呢,并且应该如何来定位
很多同学这时候就会说包体积如何优化,图片资源怎么加载,页面结构应该如何布局等等。当然这也没有错,只是不够全面,应该先从 DNS 、再到 HTTP 、再到缓存等知识、然后再到页面性能等。 这时候如果 DNS 存在问题,应该如何定位呢?很多东西就会反馈给我,不了解,又或者说三次握手如何定位快和慢呢? 往往没有注重这些知识的积累,专注在前端知识点了,
这个就是我们上面说过的,这个知识点我没有用过,所以我不了解,当然这样诚实回答是最好的。 这里的核心问题就是平时缺乏实践,特别对于一些常见的知识点,需要进行实践。针对比较常见的知识点一定要进行实践应用,也就是我们费曼学习法中,必须要通过实践来掌握 70% 的知识点。
大部分同学都是说自己长期做业务,所以这块目前了解不多,或者实践经验较少。简历中常常也会说优化了什么,但是深入一问,优化的数据是从多少到多少,数据怎么来的,优化过程时怎么样的,能回答上来的也就寥寥无几了。 而这个原因可能会自己的业务有关,其次也存在没有很好的引路人,导致的问题。
平时我喜欢问一下开放性问题,比如
如果让你来实现一个扫码登录,你觉得应该如何实现? 这中间会存在什么安全性问题? 这个实现过程中融合了哪些技术点?
如果让你实现一个商品详情页面,你觉得应该如何来做? 这中间要注重用户体验,毕竟是访问最多的核心页面,你觉得应该注重哪些细节设计?
这就非常考验一个人的综合能力了,在短时间内看一个人是否能把多个知识点融合。不仅考验一个人的知识点的全面性也考验一个人的临场发挥能力。 当然这属于拔高的面试题,但是大部分前端同学都只能体现前端的设计,对于后端的设计或者整体的方案了解都不会非常充分。
在一个优秀的团队中,流程、制度和规范是非常标准的,大家都是按照流水线搬砖,由此来避免一些常见的低级问题。但是在很多团队里面都没有形成一定的规范,其次也不了解。 比如:团队的协议规范、团队的代码规范、代码 review 规范、代码的 Git 管理规范等等。
那么有这些问题,应该如何来解决呢?
如果还有其他方面的问题,大家也可以进行交流。