y[0] = 10;
y = z;
z[1] = 20;
x[2] = z = 30;
console.log(x, y, z);
复制代码
-
基础题:简单实现一个 LRU
-
随便问环节
三面业务 leader(60min)
-
算法题:
从数组 [1, 5, 8, 10, 12] 中找到两个数和为 9,返回 [1, 8] 这样的结果。
-
算法题:
从数组 [1, 5, 8, 10, 12] 中找到三个数和为 19,返回 [1, 8, 10] 这样的结果。
-
算法题 leetcode 300:
给定一个无序的整数数组,找到其中最长上升子序列的长度。
-
针对我的项目提问,大概 40 分钟吧。
HR 面:(30min)
-
做项目的初衷在什么地方?
-
歌曲倍速播放的功能是怎么实现的?为什么要想到这个?
-
公司的业务可能会压榨自己开源分享的时间,你会介意吗?
-
公司内的一些代码不能开源,和你自己的开源分享冲突了,你怎么办?
-
你为什么不早点去实习?现在才开始找实习?
-
看了你的 GPA ,还是蛮靠前的,你怎么平衡学校的学业和技术的学习的?
-
怎么看待别人在你博客下面发一些怼你的评论?
-
在学校有社团经历吗?
-
自己平时有什么兴趣爱好?
-
和室友关系咋样?
是的,我的字节跳动面试顺利,这一面算法没有难倒我,基本上看到题目我就能想出解法。虽然我简历上的项目偏简单了点,但好在我有好好总结和复盘(最终有惊无险拿到了offer!)………
学习经历及经验
面试经验分享
准备阶段
在面试之前,可能很多人会跟我一样感到焦虑,觉得自己还没准备好,想多复习一些东西,可越复习越感觉自己不会的东西更多,从而迟迟不敢出去面试。这其实是个悖论,原因就在于技术本身就是学不完的,此时我们需要好好调整一下自己的心态,做两手准备:
-
划清知识体系和边界
-
给自己安排一个截止日期(deadline)
准备时间是有限的,我们需要做的就是利用有限的时间达到最大效益的产出,因此尽量地做一些复习巩固和查漏补缺,发挥自己的优势,而不要去为了面试学新技术,或者深挖自己从未涉猎的领域。我根据自己目前的实际水平,制定了这样一份面试知识体系:
其实当时有些知识并没有完全掌握,但是又需要出去面试,所以给了自己一个截止日期,在 3 月 10 号之前,尽全力准备,到了 deadline,无论如何都要投简历出去。这样,后面的一系列面试就顺理成章了,没有拖得太久,同时准备的还不错。
另外,关于前端面试基础知识以及计算机基础,我已经在博客里面面试题做了系统的梳理和给出了参考解析,下面给大家一些已经产出的内容,让大家可以完