人工智能如何改变客户服务业
前端八股文js 基础
其中,关于 js 语法的资料这里不详细赘述,可以去仓库里面找对应的资料。 关于 事件循环(Event Loop) ,大小厂的问法是不同的。 小厂通常会直接让你口述事件循环的机制,这时候比较标准的回答是说出事件循环分为浏览器的事件循环和 node 事件循环,并且分别说出浏览器中的事件循环机制以及 node 事件循环机制。其中加分点在于可以答出 v8 对于 async / await 的优化以及 node 11 版本前后 node 事件循环机制的区别(其实大多数面试官可能自己都不知道,面试题都是网上找的,你说的有道理能把他唬住基本就没问题了)。具体的回答可以参考 事件循环机制满分答案[2] 。 大厂又是另外一种问法,他通常不会直接让你口述事件循环的原理,会给一道面试题给你做,里面包含了宏任务、微任务的各种坑,这种其实更简单,做多了自然就会了。 另外关于 手写 Promise ,目前我没有被小厂问过这个,但是大厂有被问过几次,分别是让我手写 Promise.finally 以及 Promise.all ,实现思路都非常简单,可以参考一下我用 js 实现的 Promise A+[3] 。 前后端通信 作为一个前端工程师,知道那几个基本的知识点足够让你应付初中级别的面试题,但是如果作为一个程序员的角度出发,还是需要丰富自己在这方面的知识。这里不展开讨论,只说面试题。
输入 URL 到页面展示 虽然是一个老生常谈的问题,但是我认为这个问题基本涵盖了整个前端的所有基础知识点,可以回答得非常丰富。建议大家看我的这篇总结:浏览器输入 URL 的全过程[4] ,里面分为了网络篇、解析算法篇、渲染过程篇三个步骤,比较好的讲述了整个过程到底经历了什么。 由这个问题可以带出 缓存、DNS 解析、TCP 连接、HTTP 请求、重排重绘 等等非常多的子问题,如果你掌控的好,甚至可以控制整个面试过程,非常有利于给面试官留下比较好的印象。 跨域 也是另一个非常高频的问题,通常会问你跨域的原因以及解决方案,网上很多答案,这里不做解释。 HTTP 各版本的区别 通常并不会干巴巴的让你回答,在我遇到的所有情况下,通常都是在我答到缓存的时候,面试官会让我停下来解释缓存,这时候回答到一部分 HTTP 各版本中的区别;另外,一部分会在我回答性能优化的时候,答到 HTTP2 的时候会回答。 HTTPS 的问题也是比较简单,问的也通常比较直接,一般会让你直接说原理,然后再让你总结一遍握手过程。偶尔会让你对比一下 HTTP 之间的优缺点。 至于其他问题,可以到仓库里面找答案,也可以网上自己查,都是非常基础的问题。 安全 原本这个问题应该罗列在前后端通信中的,但是这个问题实在是太高频了,几乎每一次面试都有问到,所以我单独罗列出来。 具体的回答可以参考一下我整理的这篇文章:前端安全[5] 。 通常在回答安全问题的时候,需要回答以下几点:
(编辑:阜新站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
