Skip to content

爱礼科技有限公司web前端面试题

目的:筛选出基本功扎实的候选人,也许在工作经验上有所欠缺,但思维灵活,对于技术有过自己的思考。根据回答的广度和深度可酌情加分,以下的问题由浅入深引导候选者说出自己的观点和想法

笔试篇 考察基础与基本功,多选+填空。根据候选者表现,再来调整面试时的话题。更灵活及针对

为节约彼此的时间,请认真阅读作答,您所勾选的都将纳入我们面试时的交流话题。 欢迎您进行补充与质疑,这将让我们对您留下更深刻的印象。对于您不擅长之处诚实作答即可,我们会将以下问题与您进行无保留分享,我司欢迎优秀的员工,更欢迎人品优异的你,请诚实作答,祝你好运!

  1. 您了解过的HTML5新特性?

A. 更规范的web标准 B. 更实用的API C. 表单

D. 其他请补充 _____________________________

相关参考:(对于这些问题都没有正确标准,在此基础上,能有其他补充可适当加分)

A 语义化(新标签) form表单的新增等 B 拖拽drag Canvas media相关(video audio) 客户端持久化存储 SessionStorage LocalStorage History 文档消息跨域

  1. 您已了解过的CSS3特性?

A. 新增扩展选择器、伪类 B. 一些实用属性 C. 过渡与动画

D. 其他请补充 _____________________________

A 选择器 nth-child 伪类 ::target ::select
属性 display: flex background-size border-radius box-sizing text-overflow B transition 与 animation的区别 animation用法 C 过渡Transition 与 动画Animation的使用场景及用法等

  1. 您对 BFC 块级格式化上下文的理解?

A. 一"块"渲染区域 B. 外边距折叠 C. 解决浮动

D. 其他请补充 _____________________________

A 块级格式化上下文,它是指一个独立的块级渲染区域,只有Block-level BOX参与,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。 B 准确来说是垂直方向的外边距折叠,不会影响水平方向 C BFC的区域不会与float的元素区域重叠,因为float的元素脱离了正常文档流,所以还需要overflow: hidden来产生

D 延伸 IFC~ 能彻底理解BFC,即能搞定布局相关问题,读得懂设计稿,知道如何制造正常文档流向,解决边距,css模块等

  1. 您对RWD(响应式设计)有过哪些了解?

A. 灵活布局,从移动端到PC端,适用于多个设备 B. Media Query、栅格化、响应式图片 C. 相对单位

D. 其他请补充 _____________________________

ABC都是实现方式,需要参考人理解media query及适用场景。 我司pc端用了bootstrap但移动端部分更小,手动实现即可,可延伸问一下viewport,移动端下 rem em vh vw 等一些使用场景和方案,酌情加分

  1. 以下对于闭包的说法你觉得哪种更好?

A. 定义在一个函数内部的函数 B. 够读取其他函数内部变量的函数 C. 一个拥有变量和绑定了这些变量环境的表达式

D. 其他请补充 _____________________________

其实这三种都是标准答案,不同书上的定义不同,但只要理解了闭包的使用场景、变量作用域及用途,垃圾回收等知识点,闭包是什么就已不重要了

  1. 对于this的说法下面哪一项是正确的?

A. this对象是在运行时基于函数的执行环境绑定的 B. 用new调用构造函数,this会绑定到新对象实例上 C. 通过call或者apply可绑定this到指定的对象上 D. 箭头函数就是常规function的语法糖

可补充优雅使用this的方法(加分) _____________________________

ABC都是对的,而D~

Dave Herman:"箭头函数 => 所改变的并非把 this 局部化,而是完全不把 this 绑定到里面"。 事实上 =>箭头函数并不绑定 this,arguments,super(ES6),抑或 new.target(ES6)。

  1. 你是否关注过ES6? 对此有哪些认识?

A. ECMAScript的实现和扩展 B. (即将)普及的JavaScript核心语言标准 C. 改变了JavaScript的编写方式,更多的语法糖 D 其他请补充 _____________________________

看候选人以什么点来答,选项都是引导候选人去思考的,若答新增特性,提及ES6关键词10个就合格,往上加分。

相关关键词:

  1. 箭头函数 及使用场景,this指向的坑
  2. 类的支持 class关键字 extends constructor super
  3. Math,Number,Array,String,Object等扩展API
  4. 增强的对象字面量
  5. 模版字符串
  6. 解构赋值
  7. 函数参数 默认值 不定参数 拓展参数
  8. 块级作用域 let const
  9. for of遍历 Iterator Generator
  10. 模块 Module
  11. 集合类型 Map, Set, WeakMap, WeakSet 及使用场景
  12. Proxy代理
  13. 基本数据类型扩展 Symbol
  14. Promise

了解es7,能说什么 :: @修饰符 async await 加分

  1. 您对于React框架有哪些认识,请勾选你赞同的说法?

A 一个高效的解决前端V层的 MVVM 框架 B 比原生JS还快的Virtual DOM C React是单向数据流,数据通过Props,State进行传递

D 其他请补充 _____________________________

参考:

React是一个用于构建用户界面的JavaScript库,而不是一个MVC框架,但可以使用React作为MVC架构的View层轻易的在已有项目中使用。

所以说选了A直接扣分,也不用问以下的了。若提到、指正,可加分,延伸:MVVM MVC的不同。考察候选人是否了解Vue、Angular等主流框架。 B Virtual DOM是React高效渲染的关键。但这问法就是有误区的 https://www.zhihu.com/question/31809713/answer/53544875 顺带可问问 React 的一些性能,实际场景的使用方案等。既然提到 VDOM,可顺便问问性能优化方案相关 C 单向数据流没问题,是通过props传递。state只存在于组件内部。可顺便问组件间的传递 父子 子父 非相关组件 React声明周期等。

  1. 您对于Redux有哪些理解,下面的说法你认同吗?

A 数据状态管理的一种有效解决方案之一 B Redux是一个比较薄的数据层,同时把View的同步刷新也做了 C Redux应用最大的挑战更多来自设计层面

D 其他请补充 _____________________________

A 描述事实,其他方案比如 Mobx Flux 是否有过了解,相比于其他的Redux的优势在哪 B store的变化会反映到组件内部state上来,而this.setState的会触发render重新渲染组件 C 看个人理解和掌握的深度了,在实际项目中如何设计action,设计state树形结构

面谈话题——您是通过怎样的方式来精进自己的技术?方便的话,请谈谈你目前的职业生涯规划。(这个话题就留给老大去谈了)

共 20 个模块,1301 篇 Markdown 文档。