字节跳动前端实习面经-2(一二面)

这是12月15日和16日的一次面试,是我第二次面字节,供大家参考。

一面
自我介绍
项目介绍
CSS 画正方形
CSS 画三角形
盒模型
BFC原理、触发条件、能做什么
垂直居中有哪些方法
看输出
function Foo() {
    getName = function () {
        console.log(1);
    };
    return this;
};
Foo.getName = function () {
    console.log(2);
};
Foo.prototype.getName = function () {
    console.log(3);
};
var getName = function () {
    console.log(4);
};
function getName() {
    console.log(5);
};

Foo.getName(); 
getName(); 
Foo().getName(); 
getName(); 
new Foo.getName();
new Foo().getName();
new new Foo().getName(); 
设计模式 工厂模式
宏任务微任务 看输出
手写数组深拷贝

看输出的那道题非常经典,同时涉及到变量提升、作用域以及操作符优先级等问题,非常考验基础,建议大家好好掌握。给大家找了两个题解:

二面
自我介绍
个人规划
JSON中超出int范围的id怎么处理
AJAX有哪些步骤
HTTP状态码
后端返回一个50X的错误,如何处理
TCP UDP 的区别 拥塞控制
两个客户端怎么通讯
浏览网页被植入广告是为什么
JS中0.1+0.2是多少,如何解决精度问题
实现一个类继承另一个类(可以用别的语言)
Cookie Token 有了解吗
Redis的底层数据结构
连续子数组最大和
用Promise实现sleep
智力题:两个人轮流抛硬币,其中一个人先抛,先抛到正面者胜,求两个人的获胜概率。

这一面问的问题其实也还好,个人感觉比第一次面试的二面状态好多了,基本上都能答个***不离十。但是可能自己代码写得还是不够多,像超出int范围的id在JSON.parse的时候的精度问题可以用json-bigint库来解决,后面0.1+0.2那个问题也可以通过math.js库来解决,这两个问题都只答到了思路,其实知道对应的库+原理的话基本上才算答得比较完整。连续子数组最大和后面两道题其实也是面试官多给的两次机会,不料自己不争气。倒数第二题一时想不到可以用setTimeout,没做出来。最后一题只答到后投的那个人的概率是前一个人的二分之一,没有进一步想到这样的话他们分别是2/3和1/3。

挂得不冤枉,还应再努力。


#实习##面经##字节跳动##前端工程师#
全部评论
又挂了吗
点赞 回复
分享
发布于 2021-01-09 18:02
你是大几啊
点赞 回复
分享
发布于 2021-01-09 18:02
联想
校招火热招聘中
官网直投
ES6语法好好掌握一下,最后能手写promise
点赞 回复
分享
发布于 2021-01-11 23:05
为啥一面上面的那个代码我运行之后报错了?说这个getName已经被var声明了
点赞 回复
分享
发布于 2021-01-12 15:28
math.js解决精度的原理是啥楼主你现在知道了吗?我想学习学习
点赞 回复
分享
发布于 2021-02-03 18:09
“后端返回一个50X的错误,如何处理”,楼主你是咋回答的?而且楼主我发现这个面经里有一些后端的东西啊,居然还有redis,是因为你简历里提到了这些吗?
点赞 回复
分享
发布于 2021-02-15 19:05

相关推荐

12 61 评论
分享
牛客网
牛客企业服务