蚂蚁金服资深前端工程师 (架构师面试题蚂蚁金服)

最近很多前端小伙伴在面试,前端学习内容复杂、网上资料良莠不齐,想要靠自己梳理清楚确实不容易,为了帮助想要跳槽进大厂的你在金三银四顺利通过前端面试,总结出这「 400 道前端工程师常考必考面试题+详细解答 」于是我翻箱倒柜,把这份蚂蚁金服大牛总结的前端开发归纳笔记找出来。

传说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料!做下一个靠这份笔记进入BAT的人~(神话传说)

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

前端基础293道

1. css3 有哪些新特性

2. first-child first-of-type 的区别是

3.解决使用 transform:translate 属性时会出现闪烁现象

4.如何使用 @keyframes 使 div 元素移动200像素

5.如何实现文本换行

6.超出文本省略

7. css3 动画如何在动作结束时保持状态不变

8.实现某 div 元素以每秒 50px 的速度左移 100px

9.说说 box-sizing 属性

10.如何实现把文本分隔为4列并使两列之间间隔30像素

11. background-clip background-orgin 的区别

12. css3 transition 属性值以及含义是

13.当元素不面向屏幕时其可见性如何定义

14.如何实现 css3 倒影

15. css3 实现背景颜色线性渐变

16.为盒子添加蒙版

17. animation 属性值有哪些

18. rem 的原理是什么

19.如何设置 css3 文本阴影

20.如何把元素从左侧移动50像素,从顶端移动100像素

21.如何把一个元素旋转 30°

22.利用 css3 制作淡入淡出的动画效果

23.在使用 Bootstrap 的同时使用地图 api ,可能会造成 Bootstrap 与地图冲突,地图显示不出来,如何解决

24. jquery 中的 deferred 的功能

25.什么是 deferred 对象

26. jquery jquery ui 的区别

27.如何用原生 JavaScript 实现 jquery ready 方法

28. jquery 中的 attr prop 区别

29. $.map() $.each() 区别

30. jquery 中如何将一个 jquery 对象转化为 dom 对象

31. jquery 中监听事件有几种方式

32. jquery 中个 get eq 区别

33. jquery 中的事件冒泡,怎么执行,如何停止冒泡事件

34. jquery 中的 hover toggle 区别

35. 你使用过哪些数据格式

36.选择器中 id class 有什么区别

37.为了将单选按钮组的第二个选框设置为选中状态,如何设置

38. $.getScript() 方法和 $.getJson() 方法有什么区别

39. jquery zepto 源码有哪些地方觉得不错

40. jQuery 中的美元符号

41. onload() 函数和 ready() 函数的区别

42. jQuery 中有哪几种常见的选择器

43.使用 jQuery 将页面上所有元素边框设置为 2px 宽的虚线

44.使用 jQuery 实现单击按钮时弹出一个对话框

45.如何使用 jquery 编码和解码 url

46. jquery 中的 delegate() 函数有什么作用

47.如何禁用浏览器的前进和后退按钮

48.网页上有5个 <div> 元素,如何使用 jquery 来选择它们

49.如何在单击一个按钮时使用 jQuery 隐藏一副图片

50. $(document).ready() 是什么函数

51.如何找到所有多选下拉框内的选中项

52.如何获取页面中所有多(复)选框内选中选项的内容

53. $(this) this 关键字在 jquery 中的不同

54.提取链接的 href

55.能用 jquery 代码选择所有在段落内部的超链接吗

56. jquery 中的 detach() remove() 方法的区别

57.如何利用 jquery ,来向一个元素添加或移除 css

58.使用 cdn 加载 jquery 库的主要优势是什么

59. jQuery.ajax() jQuery.get() 方法之间的区别

60.要是在一个 jQuery 事件处理程序里返回了 false 会怎么样

61. document.getElementbyId("myId") $("#myId") 哪个更高效

62. jQuery 中的方法链是,使用的好处

63.如何用 jquery 将一个 html 元素添加到 dom 树中

64.你是如何使用 jquery 中的 ajax

65.页面导入样式时,使用 link @import 有什么区别?

66. HTML 全局属性 (global attribute) 有哪些(包含 H5 )?

67.写一个方法去掉字符串中的空格

68. CSS3 有哪些新增的特性?

69.用递归算法实现,数组长度为5且元素的随机数在 2-32 间不重复的值

70.写一个加密字符串的方法

71.浏览器内多个标签页之间的通信方式有哪些?

72.简述下你理解的优雅降级和渐进增强

73. viewport 常见设置都有哪些?

74.对比下 px、em、rem 有什么不同?

75.简要描述下什么是回调函数并写一个例子出来

76.你对标签语义化的理解是什么?

77.在页面上隐藏元素的方法有哪些?

78.去除字符串中最后一个指定的字符

79. HTML5 的文件离线储存怎么使用,工作原理是什么?

80. CSS 选择器有哪些?哪些属性可以继承?

81.简述超链接 target 属性的取值和作用

82. CSS3 新增伪类有哪些并简要描述

83. label 都有哪些作用

84.用 css 创建一个三角形,并简述原理

85. Iframe 有什么好处,有什么坏处?国内还有哪些知名网站仍用 Iframe ,为什么?有哪些原来用的现在抛弃了?又是为什么?

86.简述你对 BFC 规范的理解

87.统计某一字符或字符串在另一个字符串中出现的次数

88.清除浮动的方式有哪些及优缺点?

89.简要描述下 JS 有哪些内置的对象

90.常见的浏览器内核都有哪些?

91.盒模型的理解

92. html5 中的 form 怎么关闭自动完成?

93. ::before :after 中单冒号和双冒号的区别是什么

94.说说你对javascript的作用域的理解

95. http 都有哪些状态码?

96.为什么 HTML5 只需要写 <!DOCTYPE HTML> 就可以

97.什么是闭包?优缺点分别是什么?

98.写一个数组去重的方法

99.元素的 alt title 有什么区别?

100. table 的作用和优缺点是什么呢?

101. typeof('abc') typeof 'abc' 都是 string , 那么 typeof 是操作符还是函数?

102.说说你对 SVN GIT 的理解和区别

103.什么是 FOUC ?你是如何避免 FOUC 的?

104. css 的属性 content 有什么作用呢?

105. "attribute" "property" 有什么不同?

106.写一个验证身份证号的方法

107.对于HTML表单输入字段, disabled =“ disabled”和readonly =“ readonly” 有什么区别?

108.说说你对 line-height 是如何理解的?

109.说说你对重绘和重排的理解,以及如何优化?

110. 0.1 + 0.2、0.1 + 0.3和0.1 * 0.2 分别等于多少?并解释下为什么?

111. new 操作符的理解是什么?手动实现一个 new 方法

112. jquery 中是如何操作类的

113.使用 jQuery 中的动画

114.单击超链接后自动跳转,单击“提交”按钮后表单会提交等,有时候,为了阻止默认行为,怎么办

115.你使用什么方法提交数据

116.在 ajax 中获取数据的主要有几种方式

117. jquery 中使用过哪些插入节点的方法

118.在 jquery 中,如何获取或者设置属性?如何删除属性

119.如何设置和获取 html 以及文本的值

120.说说 <script>、<script async>和<script defer> 的区别

121.说说你对 z-index 的理解

122.包裹节点的方法有哪些?用包裹节点方法的好处?

123.如何实现自适应布局

124.在移动端如何做好用户体验

125.如何解决长时间按住页面出现闪退的问题

126.解决 iPhone 以及 iPad 输入框的默认内阴影的问题

127.如何解决安卓手机圆角失效问题

128.如何解决 ios 设置中 input 按钮样式会被默认样式覆盖的问题

129.如何解决移动端 click 事件有 300ms 延迟问题

130.如何解决移动端 html5 中的 date 类型的 input 标签不支持 placeholder 属性的问题

131.如何禁止复制或选中文本

132.解决上下拖动滚动条时的卡顿问题

133.说说 XHTML

134.为什么 10.toFixed(10) 会报错?

135. DOM BOM 有什么区别?

136.验证码是为了解决什么问题?

137.写一个获取数组的最大值、最小值的方法

138. css 的权重计算规则

139.输入 URL 到页面展示

140. rgba() opacity

141.对 arguments 的理解,它是数组吗?

142.说说 bind、call、apply 的区别?并手写实现一个 bind 的方法

143.说说你对 this 的理解

144.如何解决块属性标签浮动后,在设置水平 margin 的情况下,在 ie6 中显示的 margin 比设置的大的问题。

145.页面中的图片元素为什么默认具有间距。

146.怎么实现盒模型

147.如何解决 li 元素内出现浮动元素时产生间隙的问题

148.如何让长单词以及较长的 url 转换

149.如何解决 display:inine-block ie6 ie7 下不兼容的问题

150.如何解决 ie6 不支持 position:fixed 属性的问题

151.如何获取自定义属性数据

152.说说 event.srcElement 兼容问题

153.说说 body 载入问题

154.如何实现元素水平居中

155.如何让 p 元素垂直居中

156. margin 的加倍问题

157.如何解决 ie6 下图片有空隙的问题

158.如何让文本与文本输入框对齐

159.解决 ie 无法设置滚动条颜色的问题

160.解决 form 标签边距兼容性问题

161.构造函数的特点

162. javascript 中继承的实现方法

163.如何通过 new 构造对象。

164.面向对象的特性

165.面向对象编程三大特点概述

166. this 通常的指向

167.实现对象的继承

168. JSONP 实现跨域

169. ajax 请求

170.异步加载的方式

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

前端核心40道

1. 简述一下你对 HTML 语义化的理解?

2. 标签上 title 与 alt 属性的区别是什么?

3. iframe的优缺点?

4. 介绍一下 CSS 的盒子模型?

5. 垂直居中几种方式?

6. rgba和opacity的透明效果有什么不同?

7. position的值, relative和absolute分别是相对于谁进行定位的?

8. HTML5、CSS3 里面都新增了哪些新特性?

9. BFC 是什么?

10. 常见兼容性问题?

11. JS 数据类型 ?

12. 判断一个值是什么类型有哪些方法?

13. null 和 undefined 的区别?

14. 怎么判断一个变量arr的话是否为数组(此题用 typeof 不行)?

15. 箭头函数有哪些特点?

16. new操作符具体干了什么呢?

17. documen.write 和 innerHTML 的区别?

18. ajax过程?

19. 请解释一下 JavaScript 的同源策略?

20. 介绍一下闭包和闭包常用场景?

21. javascript的内存(垃圾)回收机制?

22. 谈谈你对MVVM开发模式的理解?

23. v-if 和 v-show 有什么区别?

24. 你使用过 Vuex 吗?

25. 说说你对 SPA 单页面的理解,它的优缺点分别是什么?

26. Class 与 Style 如何动态绑定?

27. 怎样理解 Vue 的单向数据流?

28. computed 和 watch 的区别和运用的场景?

29. 直接给一个数组项赋值,Vue 能检测到变化吗?

30. 谈谈你对 Vue 生命周期的理解?

31. Vue 的父组件和子组件生命周期钩子函数执行顺序?

32. 父组件可以监听到子组件的生命周期吗?

33. Vue 框架怎么实现对象和数组的监听?

34. Vue 是如何实现数据双向绑定的?

35. Vue 怎么用 vm.$set() 解决对象新增属性不能响应的问题

36. 虚拟 DOM 的优缺点?

37. 虚拟 DOM 实现原理?

38. Vue 中的 key 有什么作用?

39. 你有对 Vue 项目进行哪些优化?

40. 对于 vue3.0 特性你有什么了解的吗?

由于篇幅展示有限,需要获取完整答案的小伙伴们,私信本人关键字:“面*答案试**”即可获取

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

前端进阶61道

Node 模块机制

1、请介绍一下 node 里的模块是什么

2 、请介绍一下 require 的模块加载机制

3、加载模块时,为什么每个模块都有__dirname,__filename 属性呢,new Module 的时候我们看到 1.1 部分没有这两个属性的,那么这两个属性是从哪里来的

4、我们知道 node 导出模块有两种方式,一种是 exports.xxx=xxx 和 Module.exports={}有什么区别吗

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

Node 的异步 I/O

1、 请介绍一下 Node 事件循环的流程

2 、在每个 tick 的过程中,如何判断是否有事件需要处理呢?

3 、请描述一下整个异步 I/O 的流程

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

​V8 的垃圾回收机制

1、如何查看 V8 的内存使用情况

2、V8 的内存限制是多少,为什么 V8 这样设计

3、V8 的内存分代和回收算法请简单讲一讲

  • 新生代
  • 老生代
  • 标记清楚算法的问题
  • 哪些情况会造成 V8 无法立即回收内存
  • 请谈一下内存泄漏是什么,以及常见内存泄漏的原因,和排查的方法

Buffer 模块

1、新建 Buffer 会占用 V8 分配的内存吗

2、Buffer.alloc 和 Buffer.allocUnsafe 的区别

3、Buffer 的内存分配机制

4、Buffer 乱码问题

webSocket

1、webSocket 与传统的 http 有什么优势

2、webSocket 协议升级时什么,能简述一下吗?

https

1、https 用哪些端口进行通信,这些端口分别有什么用

2、身份验证过程中会涉及到密钥, 对称加密,非对称加密,摘要的概念,请解释一下

3、为什么需要 CA 机构对证书签名

4、https 验证身份也就是 TSL/SSL 身份验证的过程

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

​进程通信

1、请简述一下 node 的多进程架构

2、请问创建子进程的方法有哪些,简单说一下它们的区别

3、请问你知道 spawn 在创建子进程的时候,第三个参数有一个 stdio 选项吗,这个选项的作用是什么,默认的值是什么。

4、请问实现一个 node 子进程被杀死,然后自动重启代码的思路

5、在 7.4 的基础上,实现限量重启,比如我最多让其在 1 分钟内重启 5 次,超过了就报警给运维

6、如何实现进程间的状态共享,或者数据共享

中间件

如果使用过 koa、egg 这两个 Node 框架,请简述其中的中间件原理,最好用代码表示一下

蚂蚁金服前端高级面试题,蚂蚁金服资深前端工程师

以上就是前端必考400道题及答案,由于篇幅展示有限,需要获取完整答案的朋友们,私信本人关键字:“面*答案试**”即可获取