字节跳动-头条研发 前端一二面凉
一面——58mins
讲一下暑期实习做的这个项目?
React的组件通信方式有哪些?
Redux的实现方式?
ES6有哪些特性?
let、const、var有什么区别?const声明一个对象,能不能修改对象的属性?
如果我想让const声明对象的属性也不可修改,怎么实现?
下面代码的输出顺序是怎么样的?
setTimeout(() => { console.log(1) }, 1000) setTimeout(() => { console.log(2) }, 1000) setTimeout(() => { console.log(3) }, 1000)
讲一下async/await的用法
实现一个Queue类,要求包含两个函数
task函数:新增一个任务。包含两个参数,等待时间和回调函数
start函数:执行任务队列。将所有任务按队列顺序执行,执行完一个任务才能执行下一个任务
ps:下面代码,实现添加3个任务,然后执行3个任务。隔1秒,打印1;再隔2秒,打印2;再隔1秒,打印3new Queue() .task(1000, () => { console.log(1) }) .task(2000, () => { console.log(2) }) .task(1000, () => { console.log(3) }) .start()
Promise里的代码是同步执行还是异步执行的?下面代码输出顺序?
console.log(1) new Promise((resolve, reject) => { console.log(2) }) console.log(3)
实现一个继承,实现Dog类继承Animal类
function Animal() {} function Dog() {}
对子类的原型做扩展会不会影响到父类?反之呢?
new操作符具体做了什么?Ojbect.create()方法的返回什么样的数据结构?
是这样的数据结果吗?CSS问题
position有什么值?值有什么区别?哪些脱离文档流?
如何实现水平垂直居中?TCP和UDP的区别?各自的应用场景
写一个函数,实现效果
// TODO: 输入 'ab-cd-ef', 输出 'abCdEf' function camelcase(str) {}
浏览器的事件机制?讲一下冒泡和捕获的机制?冒泡先于捕获还是捕获先于冒泡?
我和一二三面一起的大佬不一样,可能没有表现突出,一面过后等了4天才等到结果,约了二面
二面——51min
讲一下实习的时候,项目中比较有意思的地方?
- 缩进怎么去实现
- 日期 + 时间选择器怎么去实现
- 时间选择器的浮层如何实现的
- 事件穿透怎么实现
讲一下flex布局
- flex:1展开具体的三个属性是什么值,flex:1 0 auto
- 主轴和水平轴的概念
css选择器的优先级?内联样式应该在什么优先级?
- 哪个优先级高?
.div.div > .div
.div.div > #i
- 哪个优先级高?
代码题
给定一个数组arr,和一个目标数target,找出arr中和为target的两个数的下标,一对即可function find(arr, target) {} find([2, 3, 4, 1, 5], 9) // [2, 4] find([2, 3, 4, 1, 5], 19) // null // 似乎是leetcode原题:https://leetcode-cn.com/problems/two-sum/comments/
逻辑题
有一个圆桌,两人轮流放一个棋子。棋子可以放在圆桌的任何位置,但不可以重叠其他棋子,并且棋子要可以放得下。棋子是圆的,棋子大小不变。如果最后轮到某人放棋子,但这个人无法继续在桌上放棋子的时候,这个人就输了。针对某个特定大小的圆桌,假设我先手,那么如何做一个策略,尽量让自己赢。对vue3.0或者React最新变化有没有什么了解?
后记
二面察觉到自己答得很差,觉得💊,果不其然,面试官去吃了个饭,就🍉了我了
不过!!!国庆前收到DATA部门的电话,通知国庆后面试,再接再厉!!!
#字节跳动##前端工程师##面经##校招#