字节
- 自我介绍
- TCP的握手、挥手。为什么是三次握手而不是两次?为什么是四次挥手而不是三次
- TCP跟UDP的区别
- http的请求方法有哪些?get、post的区别,别的方法是干什么的
- Content-Type 有哪些
- 水平垂直居中的实现方法
- flex布局的一些问题
- BFC
- 如何实现宽高比固定4 : 3(仅用css),我回答说height设为0,用padding-bottom代替
- 为什么padding-bottom是基于父元素的宽度而不是父元素的高度的?
- Vue给你带来的好处是什么
- 什么是组件,干什么的
- 若封装一个组件,你会考虑什么?后面还讲了一个具体的组件封装例子,问我的思路
- 双向绑定、数据响应式的实现
- 一道函数柯里化
- 防抖、节流
- 给你1亿个数字,找出最大的前1K个,如何优化效率比较高
- 图的方法有哪些?(广度、深度)
- 一个迷宫,从任意一个起点,求到终点的最短距离
- 反问环节
- 自我介绍
- webpack的打包流程
- Webpack 的一些生命周期
- 平时看过什么书
- http与https的区别,其实主要就是问https为何安全
- 浏览器缓存
- apply、call、bind的区别,做了一道关于这个的题目
做了一道题,回答了一下输出的内容
function Foo() {
getName = function(){ alert(1); };
return this;
}
Foo.getName = function() { alert(2); };
Foo.prototype.getName = function(){ alert(3); };
var getName = function() { alert(4); };
function getName(){ alert(5); };
Foo.getName(); //
getName(); //
Foo().getName(); //
getName(); //
new (Foo.getName)(); //
(new Foo()).getName(); //
然后改动了一个地方,继续问我输出结果是什么
function Foo() {
// 这里加了一个this
this.getName = function(){ alert(1); };
return this;
}
Foo.getName = function() { alert(2); };
Foo.prototype.getName = function(){ alert(3); };
var getName = function() { alert(4); };
function getName(){ alert(5); };
Foo.getName(); //
getName(); //
Foo().getName(); //
getName(); //
new (Foo.getName)(); //
(new Foo()).getName(); //
给一个二叉树和一个值,问是否有一条路径上的值相加等于该值的,有就返回
true
,没有就返回false- 为何选择前端,以及之后的职业规划
- 在学校如何学习前端的
- 按时间线来讲一下做的所有项目(每讲到一个项目时,都会对这个项目问我几个小问题)注:这个环节经过了很久很久很久很久
- 手写Ajax
- 手写深拷贝
- 写了个合并单链表
- 反问环节
- 自我介绍
- 讲解了一下TCP的各种知识(拥塞控制、重发控制、流控制、滑动窗口控制)注:leader看我前面面了那么多次了,就简单问些网络的问题了
- UDP和TCP的区别
- 以现在的网络带宽,你觉得网络直播、视频等业务能用TCP来代替UDP吗?为什么?
- git相关的命令(问的详细的主要就是合并分支:merge、rebase等)
- 你觉得你的优势是什么?你的劣势是什么?
- 你是非科班的学生,你觉得你相对于科班学生的优势是什么?你如何弥补相对于他们的不足?
- 以后的职业规划、人生规划
- 简单考了道算法题:蛇形打印
- 反问环节