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 class="container">
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="box3"></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 class="wrapper">
        <div class="div1"></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的区别是什么
对进来我们部门有什么预期,觉得会做什么


不做切图仔
1 声望0 粉丝