11月-12月字节实习面经
不做切图仔 -A部门一面凉经
自我介绍
怎么学前端
两边定宽的⚪、中间自适应。三列布局,两端为半径为50px的圆,中间内容宽度自适应。(我写的回答↓)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.container {
display: flex;
width: 150px;
height: 100px;
}
.box1 {
width: 100px;
height: 100%;
background-color: red;
border-radius: 50px;
flex-shrink: 0;
}
.box3 {
width: 100px;
height: 100%;
background-color: yellow;
border-radius: 50px;
flex-shrink: 0;
}
.box2 {
height: 100%;
background-color: green;
flex-grow: 1;
}
</style>
<body>
<div >
<div ></div>
<div ></div>
<div ></div>
</div>
</body>
</html>
类型判断,怎么判断null
var a = null
console.log(a == Object);//false
console.log(a == null)//true
基本数据类型有哪些
引用数据类型有哪些
es6新增的数据类型:promise、symbol、
结合事件循环讲一下promise
vue事件绑定的原理
vue数据监听的原理
强缓存和协助缓存
for循环里面setstate
biteint是什么?
返回402是什么
缓存机制、不要缓存
实现一个bigNumber类型,支持加减法运算。
给定一个链表,有环则返回环的第一个节点,无环则返回null
箭头函数、普通函数:
const foo = {fn: function (){console.log(this);}}
const bar = {fn: () => {console.log(this);}}
const f = foo.fn;
f();
foo.fn();
const b = bar.fn;
b();
bar.fn();
实现一个bigNumber类型,支持加减法运算。
给定一个链表,有环则返回环的第一个节点,无环则返回null。代码实现
对前端开发岗而言,哪些专业知识比较match
html css基础知识
简单的布局,定位 等基础知识。js基础能力
原型原型链,函数闭包,函数科里化,js作用域this指向,js事件队列。es6,es7 常用语法:promise,数组、对象新方法 等。数据结构,数组对象、相关方法的使用。事件捕获和冒泡,事件代理,跨域。浏览器
缓存,浏览器存储,iframe,前端性能监控。至少熟练掌握一门前端开发框架及配套
vue/react/angular路由vue-router/react-router数据管理vuex/mobx/redux前端工程化 webpack/gulp的使用B部门实习生一面如何打乱数组,代码实现(我写的是洗牌算法)
如何把上面写的算法以数组方法的形式实现(我的思路是放在原型对象)
数组原型对象获得数组的值(直接在原型对象的方法用this可以获取调用方法的对象的值)
let test=[1,2,6,4]
arry_sort(test)
test.arry_sort()
Array.prototype.arry_sort=arry_sort
arry_sort(test)
{
test
}
arry_sort()
{
????
}
map的用法
介绍一下cookie、localStorage和其他存储方式
用代码考察padding、margin和top的理解(margin不会覆盖父元素的padding,会相加。绝对定位是相对于父元素的内容区,top、left的优先级高于子元素的margin)
<style>
.wrapper {
width: 200px;
height: 200px;
padding: 10px;
position: relative;
top: 200px;
left: 200px;
background-color: black;
}
.div1 {
width: 100px;
height: 100px;
margin: 10px;
position: absolute;
top: 30px;
background-color: red;
}
</style>
<body>
<div >
<div ></div>
</div>
</body>
所有状态码(因为我是网工专业的)
1**信息,需请求者继续执行操作
2**成功,被成功接受并处理
3**重定向
4**客户端错误,包含语法错误和无法完成请求
5**服务器错误
let和var的区别
强缓存和协助缓存
如何实现三角形?(我写的是用border实现的,但面试官问我怎么用canvas实现,下面是我事后重新学完后写的代码)
var canvas = document.getElementById('test')
if(!canvas.getContext) return;
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(200,50)
ctx.lineTo(200,200)
ctx.fill()
执行上下文,事件循环
二路归并排序
快速排序
输入n块钱,不限数量,输出所有用1元、2元、5元组成n块钱的数组
快速排序算法(有什么优化方案,什么情况下时间复杂度最差,怎么优化出现的这种情况)
c++,java和js的区别是什么
对进来我们部门有什么预期,觉得会做什么