前端基础面试题1

168 阅读9分钟

1. HTML & CSS

  1. H5 有了解吗?
  2. 语义化标签的理解?
  3. 了解哪些 css3 的特性transitionanimation的区别?前端页面中动画都有哪些实现方式(别忘了还有js动画)?
  4. 谈一下对 websocket的理解?webworks的作用?
  5. 用 css 实现 table 表格隔行变色隔三行变色
  6. css 怎么实现元素居中?盒子居中?如何水平居中,垂直居中?
  7. flex 布局 ?calc 函数用过吗?什么时候用的?
  8. css选择器和优先级?
  9. Position 有哪些定位方式?(relative,absolute,fixed)各自都是什么效果?
  10. BFC?生成,特性,主要用途
  11. 清除浮动?不添加新元素清除浮动?
  12. 伪类伪元素?::after和:after的区别?
  13. 让元素消失
  14. css 技巧,浏览器右侧白条兼容问题?图片间隙行内块间距
  15. 等高布局(圣杯,双飞翼,三种等高布局)
  16. 单/行多行文末省略号?
  17. Img 标签 titlealt 属性的作用?
  18. 涉及margin-top 的问题(穿透,重叠,带着下移),解决方法?
  19. 盒模型(标准盒模型box-sizing: content-box 和 IE 怪异盒模型box-sizing: border-box) 其他浏览器和 ie 浏览器的盒模型有哪些区别?
  20. 浏览器的同源策略(端口,域名,协议)
  21. cookiesessionstoragelocalStorage区别?用过哪些,cookie 不设置过期时间什么时候失效?cookie 和session的区别?离线存储有什么优势?
  22. 用过 css 的预编译器没有,less,stylus 是什么样的,你平时都怎么用的?
  23. Canvassvg的区别?
  24. gif,jpg,png...?

2. js

  1. 什么是 JS 严格模式?怎么进入严格模式?严格模式下有哪些限制?
  2. js 的模块化技术都有哪些?(CommonJS,AMD...)
  3. js 有哪些数据类型,哪些是存在内存,哪些是存在内存中?
  4. nullundefined区别?隐式转换。。。
  5. 怎么反转字符串?(split,reverse,join)
  6. 数组有哪些方法,你都用过哪些,分别返回什么值?哪些情况下使用(join,splice,push,slice,indexof,sort,concat,reverse,map,reduce,some,every,filter,foreach,find,findindex)
  7. 涉及字符串(split,indexof,substr,substring,replace,trim,toUppercase,startsWith)
  8. 数字:tofixed。
  9. Math(floor,ceil,round,random,abs,sqrt,pow,max,sin)
  10. 引用类型值类型的区别?
  11. 如何验证变量的数据类型?( typeof,instance of,constructor)
  12. DOM节点操作方法?创建,增加,插入,删除,克隆,替换
  13. 事件流传播机制的理解?事件委托的原理及优点?
  14. 如何阻止 form 表单提交?浏览器中事件传播的流程是什么?怎样阻止事件的传播?怎样阻止事件的默认行为?(e.stopPropergation, e.preventDefault)
  15. 深拷贝,和浅拷贝你了解过吗,解释一下,怎么实现深拷贝,有哪些方法?JS 如何实现对数组(对象)的深拷贝?
  16. 你了解闭包吗,讲讲,工作中有用过闭包吗?
  17. 你怎么理解原型,原型链,原型分别是什么,原型的顶端是什么?
  18. Var, let, const 区别,const 定义一个数组,然后我往数组里面 push 一项,可不可以?用 const 定义常量的时候能不能只定义不赋值如 const a;?
  19. 数组去重的方法?用尽可能多的方法?
  20. 定义函数的方法?(函数声明,函数表达式构造函数。。。箭头函数)
  21. === 和 ==?0.1+0.2!=0.3怎么处理?
  22. Js 函数中的 this 究竟指向谁?怎样改变函数中this的指向?什么情况下会导致其方法中的 this 指向错误?
  23. Es6 有了解过吗,你了解的有哪些?
  24. 箭头函数有哪些特点?他和普通函数有什么区别?Call、apply、bind 方法的区别?
  25. Promiss 你怎么理解的,有哪些状态?怎样解决 js 中回调函数多层嵌套问题 和 多异步任务并发执行问题?
  26. 数据请求时,如果我要进行多次请求,下一次的请求的参数是上一次请求的结果,你怎么做的?我进行多次数据请求,第三次数据请求需要用到前两次数据请求的结果作为参数,你怎么做的?(async...await 等)
  27. ES6async 函数怎么使用?
  28. BOM对象模型,操作的主要对象还是啥 是什么你知道吗?(windows),DOM 对象模型是啥(document)
  29. Ajax实现流程?Ajax 中 getpost 两种请求方式的区别?如何解决get 请求缓存问题?
  30. 跨域的解决方式,为什么会形成跨域?
  31. Jsonp实现流程?
  32. Json 对象与 json 字符串互转的方法?
  33. 如何获取非行内 css 样式
  34. 简述图片懒加载实现原理
  35. Jquery对象和DOM对象互转
  36. 谈一下对函数节流防抖的理解
  37. 正则表达式中贪婪模式懒惰模式的区别?
  38. js 实现继承(原型链继承,组合继承,构造继承)

3. 框架

  1. Vue渐进式?他的生命周期函数?每一步都干了啥?vue 的源码看过吗?他的底层原理是什么?(react 底层原理)
  2. 定义 Vue 组件需要注意哪些地方?(data 必须是一个函数 ,return 一个对象,template 必须有唯一顶层元素)
  3. Vue 的组件传值,父子怎么传?子父,兄弟,有没有用过 provide,inject?有没有自己封装过组件?
  4. 在父组件中怎么使用子组件的方法?
  5. $router是什么,都有哪些东西(router-linkrouter-view)$router 和$route的区别?
  6. 你在 vue 中还用了哪些插件
  7. Vue 中你用了哪些里面什么?在项目的哪些模块用的?有什么注意事项(类似 methodswatchcomputed他们的不同之处?)
  8. vue 的组件配置对象中都有哪些常用字段?分别是什么作用?(Data,props,computed,components,methods,watch,filters,mounted 等生命周期函数)
  9. Vue 的数据双向绑定怎么实现的,v-model的本质是什么?(v-bind:valuev-on:input)
  10. 什么是 MVCMVVMvue,reactangular对应是?
  11. vuereactangular有什么不同?给你一个用 ××× 做的项目要转另一个,都哪些地方需要变动,说说你的思路?
  12. 用过 vue 的哪些指令,说出 10 个,v-ifv-show 区别,你在开发中怎么用的?react 中指令有哪些?
  13. Vue 中遍历加key 的作用?react 中 keys 的作用?小程序中有什么不一样?
  14. Vue 怎么快速操作 dom 结构(ref)?react 呢?他们有什么不同?
  15. 编程式导航有哪些方式?区别?具体什么时候用?
  16. 在 a 页面存了一个 sessionStorage,然后我又打开了一次 a 页面,然后我把原来的 a 页面关闭,新的 a 页面有没有你存的值?(
  17. Vue 中$nextTick 的作用
  18. Vue 中如何防止组件重复渲染?react 呢?
  19. Vuex? 在什么情况下使用 Vuex?如何更改 Vuex 中的状态?react 呢,他的状态管理是什么?
  20. vue-router 有哪几种导航钩子
  21. 为什么虚拟 dom会提高性能?
  22. React 框架中高阶的作用是什么?哪些情况下使用?
  23. 你都用过哪些 vue(react)的组件库?(Vant,elementUI,ivew,antd)怎么修改 elementUI 样式?有没有之间进行过二次封装
  24. 怎么解决页面加载时的闪烁问题?
  25. scoped属性作用,scoped样式穿透
  26. vue 路由有几种模式?(hash模式,history模式)

4.综合

  1. 前端页面中的图形绘制使怎么做?(canvas,svg)
  2. 做过支付宝/微信支付吗?支付是怎么实现的
  3. 你这个页面中的上拉加载更多/全页滚动/懒加载/联动滚动是怎么实现的?
  4. 你是否会使用混合(hybrid)APP 开发技术进行手机 APP 开发?
  5. babel 的作用是什么?
  6. 常用的浏览器有哪些?他们分别是什么内核
  7. 简述前端性能优化方式?如何优化网页打开的速度?
  8. 谈一下对 token 验证机制的理解
  9. 如何优化单页面应用首屏加载速度
  10. 如何解决 ajax 跨域问题?localstorage 能否实现跨域访问
  11. 移动端1px?移动端1rem?
  12. Nodejs中有哪些内置模块?分别是什么作用?
  13. Express中常用的中间件都有哪些?(static,bodyparser,session,multer)
  14. Css 文件中@import@font-face@keyframes,@media这 4 个关键字的作用是什么?
  15. HTTP 协议的状态码都有哪些?分别是什么意思?
  16. 什么叫优雅降级渐进增强
  17. 什么是 XSS 攻击?怎么防范?什么是 CSRF 攻击?怎么防范? 78.HTTPHTTPS 的区别是什么?关于Http 2.0 你知道多少?
  18. 栈和队列的区别是什么?js 中怎样实现栈结构?
  19. webpack工具的功能是什么?
  • Webpack 怎么打包图片到 js 中,原理是什么?
  • 打包到 js 中的图片怎么显示到页面上?
  • Vue 项目中放在哪些位置的图片会被打包?如何避免大图被打包?
  • Webpack 怎么打包 css?原理是什么?
  • 打包到 js 中的 css 怎么加载到页面上?
  • Webpack 能否打包字体文件?能否打包字体图标?
  • Webpack 如何生成多个 HTML 页面?
  • Webpack 怎么实现将某个模块(在项目的 node_modules 中)中的文件复制到编译输出文件夹中?
  • Webpack 的核心概念有哪些,你能画一副图表示编译过程码?
  1. axios 拦截器怎么配
  2. git 的分支?指令?遇到的问题,解决?
  3. 重绘和重排的区别?

5. 小程序

  1. 简述微信小程序原理?分析下微信小程序的优劣势
  2. 微信小程序与 H5 的区别?如何提高微信小程序的应用速度
  3. 微信小程序组件的生命周期
  4. 简单描述下微信小程序的相关文件类型?初始化小程序目录的文件作用是什么
  5. 小程序的 wxss 和 css,wxml 和 html 等有哪些不一样的地方?
  6. 小程序获取场景值的方法?
  7. 小程序onPageScroll 方法的使用注意什么?
  8. 小程序视图渲染结束回调
  9. 小程序同步 API异步 API使用时注意事项?
  10. app.json是对当前小程序的全局配置,讲述三个配置各个项的含义?
  11. 小程序简单介绍下三种事件对象的属性列表?(基础事件 BaseEvent,自定义事件 CustomEvent,触摸事件 TouchEvent)
  12. 列举 10 个常用组件并说明含义( button +switch +slider+icon +audio +map +video +swiper 轮播图+input(bindblur)+progress 进度条)
  13. 小程序对 wx:ifhidden 使用的理解?通过 wx:for 如何实现九九乘法口诀表
  14. bindtap/catchtap/capture-bind:tap/capture-catch:tap 区别和联系
  15. 小程序的双向绑定和 vue 的异同?
  16. 小程序有哪些参数传值的方法?小程序页面间有哪些传递数据的方法?
  17. 如何实现下拉刷新
  18. app.json 中如何设置 4 个 tabBar
  19. app.json 中 window 有什么作用
  20. 微信小程序中如何获取 data 内的数据,并且从新赋值,用代码说明
  21. 列举常用的路由 API 并说明含义
  22. 如何定义模板和使用模板
  23. 阐述一下 app.json 文件中 pages 属性和注意事项
  24. 微信开发过程中,涉及到的版本类型有哪些?
  25. 阐述微信公众平台中各公众账号的特点
  26. 小程序中如何实现列表渲染,需要注意哪些事项
  27. 如何绑定 mustache 数据,请至少说出五种。
  28. 怎么封装微信小程序的数据请求的?怎么解决小程序的异步请求问题?