新闻中心> 文章详情

这些web前端面试题,你掌握了多少?——南京Web前端培训分享

2017年03月14日

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


  通用问题库:


  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、你喜欢喝咖啡吗?或者其他什么饮料?(或许这就是传说中的性格测试吧!)


  后续南京万和Web前端培训会更新更多的web前端干货,欢迎大家及时关注!


上一篇下一篇
按时发顺丰

技术交流群

Java大数据交流群560819979    加入
Python技术交流群595083299    加入
Oracle技术交流群595119011    加入
Web前端技术交流群604697610    加入
Huawei技术交流群482919361    加入
Redhat技术交流群587875348    加入
UI设计技术交流群511649801    加入
Cisco技术交流群596886705    加入
IT运维技术交流群605888381    加入