一般公司比较注重基础细节问题,面试问的基本上是一些基础知识,从基础知识的回答可以看出其掌握的熟练度以及深度和广度(所以最好回答要有扩展性,形成自己的知识链,有意识的引导面试官往你会的坑里跳,而不是面试官挖坑你去跳,最好不要让面试官牵着你走,不然你哪不会他会问哪,遇到不会的问题你说自己不太了解,然后打擦边球,说些与之相关的话题。)
基础知识:
1.html:
语义化标签有什么好处
举例语义化标签?怎么看待无处不在的div
行内元素、块元素、行内块区别、举例几种
元素的嵌套规则 a能嵌套a么?
盒子模型(ie盒子模型、w3c标准盒子 区别,怎么补救)
DOCTYPE 标准模式和兼容模式,怎么会触发浏览器的怪异渲染
2.css:
link和@import区别
浏览器的兼容 、css hack技术
举例ie6下的bug问题,怎么解决
css3动画
float浮动(好处坏处)、清除浮动(至少3、4种吧)、kfc是什么、bootstrap请浮动是哪种?
定位position,三种定位的区别,相对于谁定位
bootstrap 最大的特点 移动先行
说说bootatrap 中栅格系统的原理
元素水平居中、垂直居中(方法很多)
显示和隐藏 display与Visibility区别
px em rem 区别
less sass语法
3.js:
document.getElemetsByClassName 怎么兼容,自己写个方法
权重 #id .class tagName * (可以说说树形结构,便于理解性能问题)
cookies、localStorage、sessionStorage区别(session、indexDB不常问)
use strict 严格模式 干嘛用?
ajax 原生几种步骤,get/post参数区别;
jq中的ajax几个参数,含义
http状态码 2xx 3xx 4xx的含义
get/post的区别
讲讲原型链
如何理解面向对象编程
函数的闭包 特点 垃圾回收机制
函数的作用域? es5有块级作用域么?
性能优化问题(几大方面:js css 图片 。。。。。。)
link 、script标签,引入css几种方式?
举例jq中的方法,jq中的动画效果?
git、svn的区别
常见的git命令
tcp/ip协议 udp/tcp的区别
说一种你用过的MV*框架(angular、vue。。。。)
以angular为例 MVC是什么? angular的特点 angular常用的指令、 指令 服务 路由
angular 脏检查、 $scope\rootscop区别
ng-if/show/hide 原理? 哪个性能好?
事件委托机制?
前后台对接怎么约定
跨域? 什么是跨域?什么情形产生跨域?怎么解决跨域(代理、jsonp、等等)?
gulp是干嘛用的? 常用的命令?其原理?好处?
es6语法 let const好处 、 箭头函数
echarts/hcharts 用途
画布canvas
js数据类型哪几种? 区别堆内存和栈内存
判断数据的类型有哪些方法? 特别注意null、obj
数组与字符串的相互转换?
数组去重(很多种,举例你最常用的1、2中)
数组排序?
pop、push、shift、unshift的区别,哪个能构成先进先出、模拟队列
web安全
flex弹性盒子布局
圆角的兼容性
怎么判断浏览器是那种?浏览器前缀
冒泡和捕获
eval遍历?性能与for循环比较,哪个性能好?
this关键字有几种指向,如何改变指向?
call applay区别
AMD CMD规范
json的转换方法
浏览器加载一个页面过程,做了什么?
常用的编辑代码工具?
是否熟练debug,断点调试?
如何看待加班? 未来发展目标?
当然还有很多,移动端的、react、nodejs、ionic、ng2,这些我用的并不多,只是初步了解过,暂不提。