高德面试总结
因为没有想着可以通过,所以也没有怎么准备,本想着一轮游,竟然面完了三轮。
一面面试官,上来就说你做的项目都一般般啊,让说一下在工作中最大的项目,怎么Hold住的,从中学习到了什么。然后才是一些正常基础性的问题。
二面面试官,上来问你对css比较熟悉还是js比较熟悉,我说js,然后问了一堆js的东西,后面加上react生命周期、diff,和其他框架渲染上的优点,和模板引擎渲染上有什么优点。
三面面试官,技术上问的比较少,都是一些开放性的问题,下面会罗列一下
- 垂直居中布局, position * 3 + flex + table
nth-child(4n + 3)
- 要实现一个水印,应该怎么去做,答用
background-img
去做,问用z-index行不行,为什么 在使用less过程中遇到过哪些坑,使用calc应该注意什么
-_-
网上说的calc(100% - 30px)
并没有发生1
2// width: calc(~"100% - 210px")
width: calc(100% - 30px)flex: 1 的三个子元素,是不是一定会均分
如果有3个子元素,中间的元素文字特别多,这个时候是三个还是等分父元素总宽度还是中间元素会多一些?
试了一下还是三个均分的-_-,当时答对叕改错了。- 怎么开启gpu加速,gpu加速是什么
除了transform
的一些3d
还有啥? var let const 区别,const obj = {}; obj.a = ‘a’会不会报错 适用哪些数据类型
const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量
闭包,应用
应用:1 参考12题,2 循环+异步操作- promise除了处理异步还可以用来做什么
- es6的 genarator函数,应用场景
箭头函数和普通函数有什么区别,会不会随外层的this改变而改变
1
2
3
4
5
6
7
8
9
10let o1 = {name: 'o1'};
let o2 = {name: '02'};
var name = 'window';
function say() {
let sing = () => console.log(this.name);
sing();
}
say(); // window
say.call(o1); // o1
say.call(o2); // o2改变this的方式,自己实现一个bind
bind有两种传参方式,因为用的不深,所以遗漏了。1
2
3
4
5
6
7
8Function.prototype.bind2 = function(context) {
var args1 = [].slice.call(arguments, 1);
var _this = this;
return function() {
var args2 = [].slice.call(arguments);
_this.apply(context, args1.concat(args2));
}
};跨域方式,jsonp跨域原理,使用jsonp跨域时用
<img />
行不行,为什么
jsonp跨域原理是利用script标签的src属性没有限制,script标签可以将请求文本放到全局作用域中执行。而img不会去处理响应体,但确实可以发送。
这种方式叫做图片ping,可以向服务器发送错误日志。因为收集错误的服务器并不是你的系统服务器。克隆一个数组方法,用=为什么不行,如果数组项都是数组,怎么去深克隆
自己写了一个deepClone,当时写的1
2
3
4
5
6
7
8
9
10
11
12
13function deepClone(arr) {
var i;
var len = arr.length;
var newArr = [];
for(i = 0; i < len; i++) {
if (arr[i] instanceof Array) {
newArr.push(deepClone(arr[i]));
} else {
newArr.push(arr[i]);
}
}
return newArr;
}http状态码问了301 302 304 当时304卡壳了,后来想起来了,是服务端响应没有变化而导致的重定向
浏览器的缓存问题
自己实现一个require([…args], cb)
- 封装一个react组件,实现1w张图片轮播
- 高阶函数应用:如果实现防止连续提交
- react生命周期,特别详细,每个都说到了,可以在里面做些什么,state和props合并在哪里处理,constructor作用
- react的事件,事件是绑定在真实dom上还是虚拟dom上
- react的性能优势表现什么地方,和vue相比,和模板引擎相比
- react的diff算法
- 函数式编程了解过没有,有什么优点
- position值有哪些,相对于谁定位的
这个坑主要在于,元素默认是static
定位的,如下图1
2
3
4
5
6
7<div class="lv1"> <!-- relative定位 -->
<div class="lv2"> <!-- 显式为static定位 -->
<div class="lv3"> <!-- 设置定位后,是相对于谁的? -->
3
</div>
</div>
</div>
除了常见的五个值外还有initial
unset
sticky
等值
initial是默认值
unset是取消设置,这个时候,样式如果是可继承的就使用继承的属性值inherit
,如果是非继承的就是initial
开放性问题
- 想过前端会发展成什么样吗
- 公司现在成型的开发体系,现在老板让开发一个新的功能,现在流行的一种新的技术特别适合,但是可能对老项目有些不友好的地方,如果让我怎么取舍
- 自己规划是什么,如果实现自己的目标
- 自己的优势是什么,在团队中发挥怎样的作用,希望加入的团队是什么样子的
- 自己下班后干什么,看过什么书
一些hr的问题
- 毕业后为什么选择第一家公司(言下之意是为什么选择了一个不出名的公司)
- 为什么选择用友公司作为第二家公司,当时除了用友还考虑了哪些公司,说了几家,问为什么不选择互联网公司
- 为什么选择我们公司,除了我们公司外还投了哪公司
- 未来有什么计划,具体到1-3年要达到一个什么目标,为了达到目标计划怎么做
- 平常是怎么学习的,是项目驱动还是其他,自己对前端学习体系是怎么理解的
- 优缺点各说2个
- 计划在北京待多久,还有没有亲人在北京
忧伤ing…