11月-12月字节实习面经

不做切图仔 -
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块钱的数组

B部门实习生二面

快速排序算法(有什么优化方案,什么情况下时间复杂度最差,怎么优化出现的这种情况)
c++,java和js的区别是什么
对进来我们部门有什么预期,觉得会做什么

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

html5前端javascriptcss3css

扩展阅读

加个好友,技术交流

1628738909466805.jpg