面试题目回忆
- 简单介绍自己(自我介绍)
- 你为什么选择前端作为你的职业生涯/发展方向?什么时候开始学前端的?项目经历?
- TCP/IP的四层协议(名字)
- HTTP协议工作的协议层?TCP、UDP工作在哪一层,且它们之间的区别(展开问)
- TCP的拥塞控制
- HTTP的状态码分类(5类,功能)301、302、401
- css中盒模型box-sizing中content-box和border-box的区别(这个是忘记了这个点,考的是普通盒模型和怪异盒模型)
- flex布局的理解
- flex各种属性(flex-basic控制什么,作用)需要加强
- 写结果题,考的是this指向,未答好
window.name = 'ByteDance';
function A () {
this.name = 123;
}
A.prototype.getA = function(){
console.log(this);
return this.name + 1;
}
let a = new A();
let funcA = a.getA;
funcA();
- js当中0.1+0.2的结果是什么,为什么不是0.3?
- cookie和session在前端中的作用
- http是无状态协议,服务端如何做到对客户端的标识
- 实现一个函数,可以满足sum(x, y)和sum(x)(y)两种调用方式,
如sum(1, 2) = 3 , sum(1)(2) = 3
(附上我勉强能过的答案)
var sum = function(x, y){
return (y === undefined)? function(z){return x + z}: x + y;
}//应该用闭包来做,我这个勉强算是个闭包吧…
- 对现在的框架的认识(Angular、React、Vue)
- Promise执行顺序
setTimeout(_ => console.log(1))
new Promise(resolve => {
resolve()
console.log(2)
}).then(_ => {
setTimeout(_ => console.log(3))
console.log(4)
Promise.resolve().then(_ => {
console.log(5)
}).then(_ => {
Promise.resolve().then(_ => {
console.log(6)
})
})
})
console.log(7)//这题我答的不太可,Promise没接触过
- setTimeout和Promise的顺序
- 发布订阅模式以及是否了解 EventEmitter (这个我不太了解,所以面试官给了下一题)
- 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
(abcabcbb: 3, pwwkew: 3, aaa: 1)(突然卡壳了,只有思路写不出来,换了C++还写不出来,囧死) - 自己的学习方式(自学方式)
面试官给出的建议:想深耕前端,flex是基础,一些框架尽量去接触(这个时间久远没有说好)、js语言底层的一些东西(setTimeout),基本功
总结:与js相关的知识遗忘较大,未能说出自己对框架的理解,编码能力待提高,flex是个重点,需要继续加油
网友评论