前端开发想跳槽?先要知道这些面试题

  【IT168 评论】想跳槽?想涨薪?那就得先了解面试官的套路,小编总结了部分应聘前端工程师相关岗位时可能会被问到的问题,不过许多问题是开放式的,可能会引起一些有趣的讨论。但一个问题的价值绝不仅仅是考察应聘者的专业能力,从一个人的回答中可以看出很多东西,比如性格、逻辑思维等。毕竟,人品才是最重要的,其次是团队合作能力和学习能力。作为应聘者,应该学会从问题中分析出面试官想考察的是哪方面。

前端开发想跳槽?先要知道这些面试题


▲图片源于网络

  通用问题库:

  1、你最近学到了哪些新知识?是通过哪种方式学习的?

  2、你最近遇到的技术挑战是什么?又是如何解决的呢?

  3、UI、安全、性能、SEO、可维护性或技术,你在构建Web应用程序时是如何考量这些因素的?比如先后顺序是什么样的?

  4、可以描述一下你通常创建网页时的工作流程吗?

  5、你能描述一下渐进增强和优雅降级之间的区别吗?

  6、请说出三种减少页面加载时间(感知或实际加载时间)的方法。

  7、如果你今年只可以掌握一种技术,你会优先选择什么?

  8、阐明标准和标准体(standards and standards bodies)重要性。

  9、浏览器一次可以从特定域中下载多少资源?(浏览器并发请求数)?

  10、Flash的Unstyled Content是什么? 你如何避免FOUC?

  11、阐明ARIA和屏幕阅读器是什么,以及如何使一个网站可访问。

  12、阐明CSS动画和JavaScript动画的优缺点。

  13、你为什么从事这个工作?是因为感兴趣吗?

  ......

  CSS 问题:

  1、描述BFC及其工作原理。

  2、请解释CSS sprites,以及如何在页面或网站上实现?

  3、“重置”和“规范化”CSS之间的区别是什么? 你会选择哪个,为什么?

  4、描述z-index和如何形成堆栈上下文?

  5、如何修复浏览器特定的样式问题?

  6、以视觉方式隐藏内容(并使其仅适用于屏幕阅读器)的不同方法是什么?

  7、你曾经使用过网格系统吗?如果是,你认为它怎么样?

  8、你用过媒体查询,或针对移动端的布局/CSS吗?

  9、编写高效的CSS有什么“陷阱”?

  10、使用CSS预处理器的优点/缺点是什么?你喜欢使用CSS预处理器吗?

  11、如何实现使用非标准字体的Web设计合成?

  12、说明浏览器如何确定与CSS选择器匹配的元素。

  13、解释一下你对框模型的理解,以及如何在 CSS 中告诉浏览器使用不同的框模型来渲染你的布局。

  14、什么是* {box-sizing:border-box; } ? 它有什么优点?

  15、相对,固定,绝对和静态元素之间的区别是什么?

  16、CSS中的'C'代表级联。在分配样式中如何确定优先级(可以列几个示例)? 你如何使用这个系统?

  17、你使用新的CSS Flexbox或Grid规范了吗?

  18、响应式设计与自适应设计有何区别?

  19、什么时候会选择使用translate()而不是绝对定位,为什么?

  ......

  HTML 问题:

  1、全标准模式,几乎标准模式和怪异模式有什么区别?

  2、在设计或开发多语言网站时,必须注意什么问题?

  3、将网页作为应用程序/ xhtml + xml存在什么问题吗?

  4、如何为含有多种语言内容的网页提供服务?·

  5、将HTML5视为开放式网络平台。HTML5的构建块是什么?

  6、描述cookie,sessionStorage和localStorage之间的区别。

  7、描述<script>,<script async>和<script defer>之间的区别。

  8、一般来说,在<head> </ head>和JS <script>之间</ body>之前放置CSS <link>通常是个好主意? 你知道什么情况下例外吗?

  9、你以前使用过不同的HTML模板语言吗?

  JS 问题:

  1、解释一下event delegation?阐明其在JavaScript中是如何工作的?

  2、解释一下JavaScript原型继承工作原理?

  3、你对AMD和CommonJS有什么看法?

  4、解释下为什么接下来这段代码不是 IIFE(立即调用的函数表达式):function foo(){ }();要做哪些改动使它变成 IIFE?

  5、匿名函数的典型用例是什么?

  6、你如何组织大型JS应用中的代码?

  7、宿主对象和内置对象之间有什么区别?

  8、函数Person(){},var person = Person()和var person = new Person()之间的差异?

  9、什么时候使用document.write()?

  10、特征检测,特征推断和使用UA字符串之间有什么区别?

  11、使用Ajax的优点和缺点是什么?

  12、解释一下javascript变量声明提升(hoisting)

  13、“attribute”和“property”之间的区别是什么?

  14、为什么扩展内置JavaScript对象不是一个好主意?

  15、文档加载事件和文档DOMContentLoaded事件之间的差异?

  16、什么是“use strict”? 使用它有什么优点和缺点?

  17、创建一个循环,迭代到100,同时输出“fizz”为3的倍数,“buzz”为5的倍数,“fizzbuzz”为3和5的倍数

  18、为何通常会认为保留网站现有的全局作用域(global scope)不去改变它,是较好的选择?

  19、为什么要使用类似load事件的东西? 有什么缺点? 你知道有什么替代品?

  20、请解释什么是单页应用 以及如何使其对搜索引擎友好seo?

  21、使用Promises和回调分别有什么利弊?

  22、使用一种可以编译成 JavaScript 的语言来写 JavaScript 代码有哪些优缺点?

  23、你用什么工具和技术调试JavaScript代码?

  24、阐明可变对象和不可变对象之间的区别。不可变对象的利弊是什么?如何在自己的代码中实现不变性?

  25、调用堆栈和任务队列之间的区别是什么?

  26、解释函数foo(){}和var foo = function(){}之间foo的用法差异

  ......

  性能问题:

  1、在代码中使用什么工具来查找性能错误?

  2、有什么方法可以提高网站的滚动性能?

  ......

  测试问题:

  1、测试代码有什么优点/缺点?

  2、使用什么工具来测试代码的功能?

  3、单元测试和功能/集成测试之间有什么区别?

  ......

  网络问题:

  1、传统认为,利用多域名提供网站资源会更有效是为什么?

  2、请描述从输入 URL 到网页加载完毕到显示在屏幕上整个流程。

  3、HTTP action是什么?请列举你知道的所有 HTTP action。

  ......

前端开发想跳槽?先要知道这些面试题


▲图片源于网络

  有趣的问题:

  1、你最近接触过或做过最有趣的项目是什么?

  2、你结婚了吗?有孩子吗?(可能会考虑你是否愿意加班)

  3、平时比较关注开源社区中的什么项目?

  4、你养过宠物吗?喜欢什么动物?

  5、你最喜欢的浏览器内核是什么?为什么?

  6、你喜欢喝咖啡吗?或者其他什么饮料?(或许这就是传说中的性格测试吧!)

内容版权声明:SEO核心技术博客原创文章归SEO核心技术博客所有。

转载注明出处SEO核心技术博客http://www.yxhuying.com/