前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术面试中常见的问题以及提升建议

技术面试中常见的问题以及提升建议

作者头像
蛋未明
发布2021-12-31 07:58:30
4670
发布2021-12-31 07:58:30
举报
文章被收录于专栏:蛋未明的专栏蛋未明的专栏

近期我和很多候选人进行了一些交流,在技术交流过程中发现了一些普遍的现象,很多情况候选人都了解存在的问题,但是又不知道如何去弥补这些问题。今天我来和大家一起探讨下,然后提供一些建议,希望能帮助大家。

存在的普遍性问题

在说问题之前,我们先抛出一个面试题,这个面试题设计是由浅入深,看你对知识点的掌握程度。

  1. 跨域你了解吗,什么是同源;
  2. 那么跨域有那几种解决方案呢?
  3. 既然你提到了 jsonp 那么 jsonp 的原理是什么呢?
  4. 在 iframe 中有 postmessage 来支持跨域,那么其中有什么安全问题呢?
  5. Access-Control-Allow-Origin 如果来支持多个域名呢?

深度不足

在聊的过程中,有这种场景回答 举个例子

“老师,这个知识点我看过,大概就是这样这样…如果说具体的概念,我用专业的术语说不上来”。 “老师,这个我知道,后面如果需要,Google 下应该就没有问题了”。 “老师,这个知识点,我没有用过,所以我不是很了解”。

这里问题就在于大家平时没有注重积累,看知识点不能只是看了就结束了,应该要注重练习实践。正好最近上了一个陈振平老师的课,里面有一个叫做 费曼学习法

在这里插入图片描述
在这里插入图片描述
  • 被动学习,最多只能留存 30%,而主动学习最低 50%,最高 90%
  • 你看文章,其实只能留存 10% ,也就是对知识点有一个大概的认识,也就是我们第一个人回答的问题
  • 主动学习包括,讨论、实践、传授他人,也就是如果你能和别人探讨这个知识点,那么你可以留存 50%,如果你能亲自实践,比如跨域解决方案,你能自我实现那么你能留存 70%,而如果你可以把这个知识点写文章传授出来,那么你基本就掌握了,并且几乎不会忘记。

只掌握自己工作层面的知识

同样上面的问题,在遇到第五个问题时,有些同学会这样回答我

“老师,那一般是后端处理的,所以这块我不是很了解”

如果你这样回答,那么在面试过程中会大大的减分,先不论这个知识点前后端区分,即使是后端的知识点,你对跨域整个知识体系来说也是应该需要掌握的。 同样的,我们会面临很多这类问题,又比如网络相关的,我们都听过一个面试题

从 URL 输入到浏览器之后,浏览器发生了什么

这个问题时非常常见的,那么把问题改进一下

如果有用户反馈网页响应慢,那么从你角度思考下,这中间会有哪些原因呢,并且应该如何来定位

很多同学这时候就会说包体积如何优化,图片资源怎么加载,页面结构应该如何布局等等。当然这也没有错,只是不够全面,应该先从 DNS 、再到 HTTP 、再到缓存等知识、然后再到页面性能等。 这时候如果 DNS 存在问题,应该如何定位呢?很多东西就会反馈给我,不了解,又或者说三次握手如何定位快和慢呢? 往往没有注重这些知识的积累,专注在前端知识点了,

系统化实践不足

这个就是我们上面说过的,这个知识点我没有用过,所以我不了解,当然这样诚实回答是最好的。 这里的核心问题就是平时缺乏实践,特别对于一些常见的知识点,需要进行实践。针对比较常见的知识点一定要进行实践应用,也就是我们费曼学习法中,必须要通过实践来掌握 70% 的知识点。

性能方面欠缺

大部分同学都是说自己长期做业务,所以这块目前了解不多,或者实践经验较少。简历中常常也会说优化了什么,但是深入一问,优化的数据是从多少到多少,数据怎么来的,优化过程时怎么样的,能回答上来的也就寥寥无几了。 而这个原因可能会自己的业务有关,其次也存在没有很好的引路人,导致的问题。

架构方面思考不足

平时我喜欢问一下开放性问题,比如

如果让你来实现一个扫码登录,你觉得应该如何实现? 这中间会存在什么安全性问题? 这个实现过程中融合了哪些技术点?

如果让你实现一个商品详情页面,你觉得应该如何来做? 这中间要注重用户体验,毕竟是访问最多的核心页面,你觉得应该注重哪些细节设计?

这就非常考验一个人的综合能力了,在短时间内看一个人是否能把多个知识点融合。不仅考验一个人的知识点的全面性也考验一个人的临场发挥能力。 当然这属于拔高的面试题,但是大部分前端同学都只能体现前端的设计,对于后端的设计或者整体的方案了解都不会非常充分。

欠缺流程规范

在一个优秀的团队中,流程、制度和规范是非常标准的,大家都是按照流水线搬砖,由此来避免一些常见的低级问题。但是在很多团队里面都没有形成一定的规范,其次也不了解。 比如:团队的协议规范、团队的代码规范、代码 review 规范、代码的 Git 管理规范等等。

那么有这些问题,应该如何来解决呢?

如何针对性解决

  1. 深度不足系统化实践不足,这点我上面已经提到了,大家要应用费曼学习法,多进行实践,也可以和同事多讨论,或者写文章来传授;
  2. 性能方面欠缺考虑,比如在做一个官网需求,大家可以自我思考,我们应该看哪些性能指标,如果性能指标产生问题时,我们应该针对性的进行优化,这样慢慢的你就积累了相关的经验了;
  3. 架构方面思考不足,平时要注重全面的技术点了解,并做好技术方案,技术方案要参考现有外部的设计方案,设计完成后要考量方案的可行性、安全、性能、资源损耗(人力、机器)等,通过全面的技术方案设计以后,你会对整个架构设计有一个比较全面的了解;
  4. 流程规范,这个大家就参考下大厂的一些规范和标准,有些可以参照执行一下,无论团队大小,叫做麻雀虽小,五脏俱全。

如果还有其他方面的问题,大家也可以进行交流。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 存在的普遍性问题
    • 深度不足
      • 只掌握自己工作层面的知识
        • 系统化实践不足
          • 性能方面欠缺
            • 架构方面思考不足
              • 欠缺流程规范
              • 如何针对性解决
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档