面试题库
- 自我介绍
- 感兴趣的项目详细介绍一下;
- 浏览器内核的理解,常用的浏览器内核
Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。 [又称MSHTML]
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上。 [Opera内核原为:Presto,现为:Blink]
Webkit内核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]
- html5 中的离线存储 cache.manifest
- 请描述一下 cookies,sessionStorage 和 localStorage 的区别?
- iframe有那些缺点?
- 如何在页面上实现一个圆形的可点击区域?
1、map+area或者svg
2、border-radius
3、纯js实现 需要求一个点在不在圆上简单算法、获取鼠标坐标等等
- CSS 优先级算法如何计算?
- 优先级就近原则,同权重情况下样式定义最近者为准;
- 载入样式以最后载入的定位为准;
优先级为:
同权重: 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。
!important > id > class > tag
important 比 内联优先级高
- div 水平居中,垂直居中
- position 有哪些属性,分别介绍一下;
- css 创建一个三角形原理;
- JavaScript原型,原型链? 有什么特点?
每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果没个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。
关系:instance.constructor.prototype = instance.proto
- 介绍一下 immutable data
- react 生命周期
- react component,purecomponet 区别?
- ajax & fetch 的区别?
- promise
- 0.1 + 0.2 !== 0.3
- es6 的新特性或者语法
- get, post 区别,使用规范?
- 跨域是什么,有哪些方案?
- http 常见的返回码
- redux 的简单介绍一些,什么原则?
- react dom diff 算法有没有了解过?
- 前端路由的原理?
- 使用 oc 开发了什么 app,简单介绍一下;
- 技术栈选型上的考虑:vue + vuex + webpack + flexble + sass
- js / oc, jsbridge, react native 的使用感受,区别
- 引入 iscoll 解决的什么问题?原理是什么?
- 网页打开速度优化方式有哪些?实践过哪些?
- 对前端工程师这个职位是怎么样理解的?它的前景会怎么样?
- 有没有 github,在 github 有没有做过什么开源项目,介绍一下?
- 工作中遇到什么难点问题没有,怎么去解决的?
- 介绍一个你最得意的作品,项目?
做几道题目
// 1. throttle的简单实现
function throttle(func, duration) {
// 在这里编写具体实现
}
window.addEventListener('scroll', throttle(func, 50), false);
// 2. 实现一个深度优先搜索算法(非递归)
function dfs(tree, name) {
// 请在这里实现
}
var tree = {
name: '中国',
children: [{
name: '北京',
children: [{
name: '朝阳群众'
},
{
name: '海淀区'
}
]
},
{
name: '浙江省',
children: [{
name: '杭州市'
},
{
name: '嘉兴市'
}
]
}
]
};
var result = dfs(tree, '杭州市');
console.log(result);