字节跳动-前端-暑期实习
3.14一面 85min
1.warmup
自我介绍
为什么选择前端
2.拷打项目
介绍一下是什么比赛,需求是什么?做了多久?
首页的放大镜效果:设计思路?用什么设计的(figma)具体如何实现的?(css蒙版+监听鼠标位置)【问的很细,他不清楚的地方会继续问】【上次字节日常实习一面的面试官让当场复现这段代码,今天没有】
适配移动端了吗?(做了横屏检测,但手机上样式会乱)面试官立刻点开手机上看【遗憾地发现没有适配】
说一个遇到的困难?(说了一个由 在组件挂载时依赖父组件传递的props导致数据延迟 引起的问题)【组件prop传值不是很明白原理,以为不会即刻更新,面试官进行了一个详细的教】【后来翻了当时记录说出来了】后来怎么解决的?(watch)
【因此展开问vue生命周期】
说一下vue生命周期?
如果组件依赖于要某个api获取的数据,应该在哪个生命周期获取数据?(我说我一般在setup里直接写)
created 和 mounted 的区别到底在哪?(好问题 不知道)
如果有一个异步函数需要很长的响应时间,组件在获取到数据之前是个什么状态?(我觉得是已挂载,但是无数据;数据获取到之后组件刷新)【这一块说的很乱,也不知道说的对不对,但面试官真的很好,在引导我说】
3.笔试
用ts/js写代码,20min 两道,第一道leetcode 257.二叉树的所有路径,第二道 53.最大子数组和
(第二题brute force了,问有没有优化方法,没想出来;第一题没写完,只写了递归函数,说了思路【面试官看起来听到DFS就ok了】)
4.基础知识提问
有了解Vue底层原理吗?说一下数据绑定是什么,什么原理?
css盒模型?
HTTPS和HTTP的区别?
5.反问
前端工程师最重要的能力是什么?(答:技术能力,业务能力-对业务的理解、反哺产品(所以会问怎么设计的))
技术能力的要求?(答:实习生能做事就可以,工作三年要求能解决绝大部分的问题)
对暑期实习生和秋招生的技术能力要求的不同?
技术栈?需要会React吗?(答:都是React。不用,这是短时可以获取的能力)
建议?(答:做过的学过的深度了解,先有深度再有广度)