大概13号HR电话约一面面试,一面22号,二面25号,三面29号,HR面30号。都是第二天先收到对面试作评价的邀请短信,中午或下午下班的时候HR电话告知面试结果,约定下一轮面试时间,并邮件通知。在约面试的时候还会给出建议,比如看看面经、刷刷leetcode。

一面:

本轮其实是笔试,面试官给了八道题,让直接撸代码。面试官说给40分钟,但是我花了快一个小时。。。

1. 实现垂直居中

<body><div id="block"></div>
</body>

id为block的元素不定高不定宽,请实现它在浏览器窗口的居中显示。

2. 自适应两列布局

3. 借用组合继承

4.  使用JS实现一个repeat方法,function repeat (func, times, wait) {}, const repeatFunc = repeat(alert, 4, 3000), 调用这个 repeatedFunc("hellworld"),会alert4次 helloworld, 每次间隔3秒

const repeatFunc = repeat(alert, 4, 3000)
repeatedFunc("hellworld")

5. 点击ul底下任意li,输出对应li里面的内容

6.  请为所有数组对象添加一个findDuplicate(n)方法,用于返回该数组中出现频率>=n的元素列表

7. 请用JS实现函数节流函数
函数节流解释: 对函数执行增加一个控制层,保证100ms内只执行一次。此函数的作用是对函数执行进行频率控制,常用于用户频繁触发但可以以更低频率响应的场景

如上图,在一段时间内函数触发了9次,实际只执行了5次,且每次执行的时间间隔不小于100ms;前100ms内执行的是第三次出发,前两次触发失效。("1"触发在0ms,立即执行,"2"触发在50ms,"3"触发在90ms,在100ms的时候,会把100ms内的最后一次触发"3"取出来执行)

8. 在数组中找出和值为给定值的两个数
输入一维数组array和n,找出和值为n的任意两个元素。例如:
array = [2, 3, 1, 10, 4, 30]
n = 31
则结果应该输出[1, 30] 顺序不重要
如果有多个满足条件的,返回任意一对即可

二面:

自我介绍。。。

1. 一般如何学习?看了哪些书?(好像是第三轮才开始问,反正至少被问了两次,有点混乱。。。)

2. 用CSS实现一个开关样式,hover时触发,滑块为正方形,具体大小可随意,如下图:

开关动作均有动画过度(滑块移位、背景色);

只用一个dom元素实现;

开关的高度是固定的,但宽度不固定,即宽度为未知父元素的100%,宽度始终大于高度;

3. 输出打印结果:

var result = [];
var a = 3;
var total = 0;
function foo(a) {var i = 0;for (; i < 3; i++) {result[i] = function() {total += i * a;console.log(total);}}
}foo(1);
result[0]();
result[1]();
result[2]();

4. 实现一个函数a,使其奇数次调用时返回1,偶数次调用时返回2(不能使用全局变量)

// example
a(); // 1
a(); // 2
a(); // 1
a(); // 2

5. 说说你在项目中遇到的安全问题、以及如何解决XSS/CSRF的。

6. 继续看代码写输出

async function async1() {console.log('async1 start');await async2();console.log('async1 end');
}async function async2() {console.log('async2 start');return new Promise((resolve, reject) => {resolve();console.log('async2 promise');})
}console.log('script start');setTimeout(function() {console.log('setTimeout');
}, 0);async1();new Promise(function(resolve) {console.log('promise1');resolve();
}).then(function() {console.log('promise2');
}).then(function() {console.log('promise3');
});console.log('script end');

7. 了解、做过性能优化吗?如何了解浏览器的性能?

8. 说说浏览器渲染机制,重绘/重排,什么情况只重绘不重排

9. 谈谈缓存

10. 提问,最后让面试官给了建议。面试官的建议是:除了算法,多去了解了解浏览器渲染机制和性能优化,做在线文档对性能要求还是比较高的。

三面:

自我介绍。。。

1. 从1000到990000找到所有的对称整数1001、1111、1221、1331....12321....时间复杂度越低越好

2. React/Vue/Angular实现Menu,可以多级,点击时展示子菜单

<Menu data={data} />
1 2 3 4 5
1-1
1-2

了解TS吗?项目中是否用过TS?

#1 Data怎么设计?——顺带考察TS类型定义

#2 大致怎么实现?——关键HTML+TS代码

用递归实现,被问有啥问题?答:性能问题。问:除此之外呢?然后就开始引导,子菜单一般默认不展示,点击父菜单时才展开并展示子菜单。。。所以?点击展开中写子菜单逻辑,创建子菜单。

3. 一般怎么学习?

4. 做过前端埋点吗?日志收集、性能监控。设计实现Log类,仅提供两个API。

Log.init(config);
Log.send(event: String, params: Object);

# 有哪个几个模块,怎么串联

因为说了没有用过,仅仅听过,所以简单写了写思路和关键方法。提供默认配置,初始化时候合并配置;发送阶段:先简单分析、缓存事件到内存、节流,然后在面试官的引导下回答了失败重传、localStorage/indexDB持久化存储(顺带被问localStorage与indexDB的区别)、如何处理相同事件。(思路和方案也不知道对不对。。。)

5. 谈谈工作中遇到的难的、有深度的或者印象深刻的事

6. 怎么高质量交付一个feature?

7. 提问

了解到开放平台的文档与各端(移动/PC/小程序)SDK及示例比较考验一个人的代码规范、设计与组织能力

最后还是请求面试官给了建议:基础、学习与业务相关

HR面:

1. 自我介绍

2. 自我感觉面试如何?优势在哪儿?劣势在哪儿?如果10分给自己打几分?

3. 为什么选择前端?(这好像是在三面被问的,有点混乱。。。)

4. 怎么学习?学习频率?

5. 为什么选择字节?岗位在深圳,是否能接受?

6. 当初为什么没有选择一线城市,现在又为什么换城市?

7. 投过哪些公司?目前是否有Offer?

6. 期望薪资?

字节飞书前端三轮技术面+HR面相关推荐

  1. 首次参加字节飞书面试败北

    我17年正式本科毕业的,2021年是我自毕业后开始尝试投简历.以前大学有门课在智联上制作了简历,现在四年,我下载app上面就没了.我今年这次注册了boss直聘的这个,正好在315后面隔天注册的.发现挺 ...

  2. java工程师去字节飞书可以,字节跳动飞书Java后端开发暑假实习一面(过了)

    字节跳动----飞书一面(过了) 2021.3.9 30分钟 0.自我介绍 1.项目提问(7分钟) 2.TCP的四次挥手(八股文) 3.网络7层模型(八股文) 4.HTTP和HTTPS(八股文) 5. ...

  3. 爆肝三天整理!2021年阿里巴巴社招面试题总结,三轮技术面+HR面,总结的明明白白!

    前言: 今年是我第一次正式面试,期间看了很多网上的帖子,给了我很大帮助.面试结束后一直想着将面经整理出来,但实验室一直有事,老师天天找,所以一直没有找到机会.端午终于有些空闲时间,赶紧将面经整理出来, ...

  4. 字节飞书提前批一面(凉的透透的)

    1.TCP与UDP的区别 2.全双工半双工具体讲讲 3.前端缓存机制(强缓存和协商缓存) 4.csrf和xss的网络攻击及防范 5-Cookie.sessionStorage.localStorage ...

  5. 阿里面试现场实录,三轮技术面+HR面总结归纳,属于包教包会的面经了

    一.开场白 简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容: (你的信息一清二白的写在简历上,这个主要为了缓解面试者的压力) 介绍下自己最满意的,有技术亮点的项目或平 ...

  6. 95后小伙记录一次京东Java实习校招面经,三轮技术面+HR面,已给口头offer!

    经过 3月底在牛客网上线下内推的 今天收到面试电话 我都搞忘了

  7. 2022-05-10:在字节跳动,大家都使用飞书的日历功能进行会议室的预订,遇到会议高峰时期, 会议室就可能不够用,现在请你实现一个算法,判断预订会议时是否有空的会议室可用。 为简化问题,这里忽略会议

    2022-05-10:在字节跳动,大家都使用飞书的日历功能进行会议室的预订,遇到会议高峰时期, 会议室就可能不够用,现在请你实现一个算法,判断预订会议时是否有空的会议室可用. 为简化问题,这里忽略会议 ...

  8. 飞书面临3个劣势,那又怎样?

    作者 | 中国软件网 李翘 校对 | 中国软件网 王锦宝 最近,飞书首次举办产品发布会,引发了业界热议.有人称赞飞书流畅的协作交互功能,认为极致良好的体验,肯定能为飞书赢得大量用户.有人担忧飞书出道太 ...

  9. Vue集成飞书前端JSSDK

    文章目录 前言 <1>飞书前端JSSDK <2>使用步骤 1.将JSSDK引入到VUE 2.测试JSSDK 3.前端鉴权 总结:当前JSSDK1.5.4 前言 公司需要使用飞书 ...

最新文章

  1. linux c配置文件书写格式,读取配置文件源代码[linux c]
  2. GitLab CI/CD
  3. ubuntu mysql 中午_Ubuntu更改MySQL字符集UTF-8,正确显示中文
  4. Carrier Configuration in Android 6.0 文档翻译
  5. mysql join原理_MySQL的JOIN(二):JOIN原理
  6. 图片复印如何去除黑底_如何处理打印出来的图片很黑的情况
  7. 基于机智云平台的微电网光伏模块数据采集装置的设计
  8. 大型仿人机器人整机构型研究与应用
  9. arm汇编—bic ,orr
  10. 函数的正交与向量正交
  11. 2021-03-28
  12. java cxf encoded,java:JAXWS 2.0不支持Rpc / encoded wsdls
  13. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例
  14. 《某担保业务管理系统》项目研发总结
  15. #java #web jsp开发入门(web应用概述、tomcat简介、编写步骤)
  16. 幸运数47:给定正整数n,求不大于n的仅由4和7组成的数字的个数
  17. selenium报错:find_element() argument after * must be an iterable, not bool
  18. anyview+4.0java版_anyview4.0手机阅读器
  19. 使用Arduino制作自动硬币分拣机
  20. UnityShader-菲涅尔反射(Fresnel Reflection)

热门文章

  1. numeric比较大小 数据库_SQL数据库中Numeric(10,2)是什么意思?
  2. 51单片机洞洞板用的visio图_万能洞洞板之单片机DIY设计,开启制作之路-可编程逻辑-与非网...
  3. 为什么影子会相互吸引? - 《像乌鸦一样思考》
  4. 面试题:如何测试微信朋友圈
  5. 从市场观察到案例解析,来看TopOn与JoyPac的2020年手游出海运营全攻略
  6. 记一个windows预览体验计划0x800bfa07错误问题
  7. windows下服务或SYSTEM权限读取当前用户注册表HKEY_CURRENT_USER
  8. nlp自然语言处理中句子相似度计算
  9. iOS H5 history.back() 返回上一路由 页面白屏
  10. peek在c语言中的作用,C++ peek函数用法详解