HTML5面试题(仅限于自己用的)
前端工程化
1. 场景:你是第一天来公司上班的,项目代码托管在GitLab,项目地址:git@lab.com:org/project.git,现在有一处代码需要你修改。请下完成此项任务中,与git/gitlab相关的操作步骤。
2. CSS,JS代码压缩,以及代码CDN托管,图片整合。
答:使用gulp自动化压缩技术
3. 网络图片处理问题中怎么解决一个相同的网络地址重复请求的问题?
答:利用字典(图片地址为Key,下载操作为value)
4. 如何利用webpack把代码上传服务器以及转码测试?
5. 项目上线流程是怎样的?
6. 工程化怎么管理的?
7. git常用命令
8. webpack 和gulp对比
9. webpack打包文件太大怎么办?
10. 不想让别人盗用你的图片,访问你的服务器资源该怎么处理?
11. 精灵图和base64如何选择?
12. webpack怎么引入第三方的库?
13. 如果线上出现bug git怎么操作?
14. 用过Nginx吗?都用过哪些?
移动端适配
15. iscroll安卓低版本卡顿,如何解决?
16. 移动布局自适应不同屏幕的几种方式
17. 请说下移动端常见的适配不同屏幕大小的方法?
18. 移动端屏幕适配?
19. 你们做移动端平时在什么浏览器上测试?
性能和效率
20. 你平时如何评测你写的前端代码的性能和效率。
21. 如何优化页面,加快页面的加载速度(至少5条)。
22. 怎么保证多人开发进行内存泄漏的检查(内存分析工具)
23. 如何优化页面,提高页面加载速度?
24. 前后端性能如何调优?
25. 浏览器http请求过多怎么解决?
Web安全
26. 你所了解到的Web攻击技术
27. 如何防止XSS攻击?
28. 项目中有没有用过加密,哪种加密算法?
架构
29. 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有css、js文件、图片?
30. 如果没有框架、怎么搭建你的项目
31. 在选择框架的时候要从哪方面入手
混合开发
32. UIWebView和JavaScript之间是怎么交互的?
33. 混合开发桥接api是怎么调用的,需要引入类库嘛?调用的对象是什么?
34. 读一下你对支付,推送(远程,本地)的理解
35. 什么是代理和通知,写一下他们基本的实现方式
36. UIViewController的生命周期
37. rem布局字体太大怎么处理?
38. 如何调用原生的接口?
浏览器与操作系统
39. 谈谈你对内存管理的理解。
NodeJS
40. 谈谈你对Socket编程的理解,及实现原理,Socket之间是怎么通讯的
41. WEB应用从服务器主动推送Data到客户端有哪些方式?
42. 简述Node.js的适用场景?
43. http(s) 基础知识
44. 你们原来公司如何发送的新消息推送?
45. 如何用NodeJS搭建中间层?
组件设计
46. 设计一个弹框组件,组件宽度为屏幕高度的50%,宽度为屏幕宽度的80%,水平垂直居中。组件有header,body,footer三部分,header中有标题,可定制,body区域,footer区域有确定和取消按钮,可定制两个按钮的文字内容,组件外的内容有遮罩,点击遮罩和取消按钮时关闭弹框,参照下图。
47. 实现一个手势滑动轮播图组件。效果参考:https://static.xiaohongchun.com/goods/4514(请在手机里打开)
48. 设计基于观察者模式的事件绑定机制
49. jq自己扩展过什么插件?
50. 侧滑菜单如何实现?
51. 权限管理如何实现?
52. 让你实现一个检测闭合回路怎么实现?
53. 一个大数组,可能存了100万个数字,要从其中取出来第二大的数的下标,有什么快速的方法?
单元测试
54. 单个组件怎么测试性能
React
55. redux中间件
56. redux有什么缺点
57. react组件的划分业务组件技术组件?
58. react周期函数
59. react性能优化是哪个周期函数?
60. 为什么虚拟dom会提高性能?
61. diff算法?
62. react性能优化方案
63. 简述flux 思想
64. React项目用过什么脚手架?Mern? Yeoman?
Vue.js
65. vue与react的对比,如何选型?从性能,生态圈,数据量,数据的传递上,作比较
66. vue slot是做什么的?
67. vue和angular的优缺点以及适用场合?
68. vue路由实现原理?
69. 你们vue项目是打包了一js文件 一css文件 还是有多个?
70. vue遇到的坑,如何解决的?
71. vue的双向绑定的原理,和angular的对比
72. Vue-cli
框架底层
73. jQuery源码中值得借鉴的?
74. $.ready是怎么实现的?
75. 懒加载的实现原理?
76. 双向数据绑定和单向数据的区别?
77. 怎么实现一个类似于const功能的方法?
78. 使用原生js模拟一个apply方法
79. Object.create()和直接创建对象有什么区别?
80. 使用for in 遍历对象和使用Object.keys来遍历对象有什么区别?
81. 深拷贝和浅拷贝以及应用场景
82. 原型链,闭包与继承
AngularJS
83. 对bootstrap的掌握、为什么用angular+bootstrap搭建后台管理系统
84. angular 中ng-if 和ng-show/hide 有什么区别?
85. Angular 中ng-click中写的表达式,可以用js原生上的方法吗?为什么?
公司情况
86. 公司组织架构
综合问题
87. 请列举你知道的前端框架?常用的前端开发工具?开发过哪些应用和组件?
88. 常用的库有哪些?常用的前端开发工具是什么?开发过什么应运或组件?
89. 项目测试没问题。但是放到线上就有问题了,你是怎么分析解决的?
90. ES6里面你用过什么?
91. 如何管理团队?
92. 你做过的你负责的最难的数据交互模块是?
93. 你平时写过什么业务逻辑?
94. 你负责的具体是什么模块?
95. 你掌握的技术栈有哪些?
96. 聊聊你的技术栈?