聊聊字节的校招面试
网上的字节面试面试题内参已经很多了,各类编码题按难度罗列的齐齐整整,不得不佩服整理这些的同学
不过今天,我们不说具体题目的解法,而会从整体上盘点一下面试考察的素质
现在校招季,就说校招吧,对于刚刚从学校毕业的同学,重点考察什么呢?
可以的,因为你做啥(不只是客户端)都有学习的过程,这毕竟是商业系统,不是毕设,二者在实践上的差别非常大
一般而言,对于校招的职位,会重点考察如下几个方面
- 实践:it毕竟是实践科学,你在学校里做过什么,到了什么程度,是否对整体过程有宏观的了解(而不是只了解自己做的那一小块);
- 自己扮演的角色是否足够solid,而不是把别人的事情说成自己的事情;或许有的时候确实不那么容易区别边界,所以判断solid的标准可能是,这事可以不是你做的,但问你细节,都清楚吗?换你来能搞定吗?能,就好
- 或许有的时候确实不那么容易区别边界,所以判断solid的标准可能是,这事可以不是你做的,但问你细节,都清楚吗?换你来能搞定吗?能,就好
- 自己扮演的角色是否足够solid,而不是把别人的事情说成自己的事情;或许有的时候确实不那么容易区别边界,所以判断solid的标准可能是,这事可以不是你做的,但问你细节,都清楚吗?换你来能搞定吗?能,就好
- 基础知识:无论你来什么公司做什么职位,都会面临学习的过程;基础知识是否足够全面,足够扎实,决定了你的学习速度和潜力;而这二者决定了你是脱颖而出还是冥然于众人;那基础知识要怎么界定?
- 基本超不出计算机组成原理,操作系统,网络的范畴简单的描述是可以用来解释“从系统加电启动,直到看到界面开始响应用户操作的路径上,发生的关键事件”的所有相关知识;这么说还是有点抽象,举个🌰
- 简单的描述是可以用来解释“从系统加电启动,直到看到界面开始响应用户操作的路径上,发生的关键事件”的所有相关知识;这么说还是有点抽象,举个🌰
- cpu从实模式怎么进入了保护模式?
- 操作系统内核建立的内存管理,哪些是分段的,分页的?
- 硬件是怎么驱动的?为啥有些硬件需要驱动程序,有些不用?比如现在的硬盘?
- 显示器上的文字,是怎么出来的?
- 从console状态进入图形状态,显示卡做了什么?
- 操作系统怎么协同的?不处理事件的时候,线程休眠了没有?有事件来的时候操作系统怎么知道唤醒谁?能不能抢占当前任务?
- cpu从实模式怎么进入了保护模式?
- 简单的描述是可以用来解释“从系统加电启动,直到看到界面开始响应用户操作的路径上,发生的关键事件”的所有相关知识;这么说还是有点抽象,举个🌰
- 基本超不出计算机组成原理,操作系统,网络的范畴简单的描述是可以用来解释“从系统加电启动,直到看到界面开始响应用户操作的路径上,发生的关键事件”的所有相关知识;这么说还是有点抽象,举个🌰
这只是随便发散一下,换其他人思考会有不同的结果,这里的关键是要有整体融通的思路;计算机的本质是个大玩具,这里的枝枝叶叶真的和玩一个复杂的变形金刚有那么大的区别吗?很多时候问题是只见树木不见森林,只看到一个逻辑,一个局部,互相联系不起来,自然谈不上基础好;说了这么多,基础好的定义在这里可以是:
- 语言:语言的知识图谱,高于基础原理(操作系统,网络这些),低于业务应用;属于比较能挖掘深度的一个领域;比如:
- 堆栈上各类变量的生命周期;
- gc的细致行为
- 各种锁的类型和效率;
- 一些高级语法的使用,等等
- 堆栈上各类变量的生命周期;
稍微再发散一些,提出这些的背景考虑?语言本身的核心思想(比如,python 和 c++的哲学都有哪些不同),进而衍生到行业/领域标准制定上各方的角色,他们中有能力超群的独立开发者,也有相对灵活的开源组织,还有有组织成建制的商业力量,他们是如何博弈 & 共识的,折射出什么样的行业格局和现状?
- 编码:这一块就比较灵活了,但并不是leet code前多少道题刷一下就解决问题了,而且刷题这个行为,我们中性看待,是一个快速的提升手段不假,不过话讲回来,你真的能刷到大神级别,那也算真才实学;
- 虽然外面传了很多手撕xx的传说,我们就事论事地说,直接拿一个成熟算法让对方默写一遍未必是一个好的考察方式,现在越来越对的面试官都有这样的共识;
编码是工程能力的体现,不应该脱离工程;那这个领域的学习思路又如何呢?既然我们谈论算法,我们不妨用上下限的思路来分析一下
这件事的时间投入上限是什么?
看到一些同学在简历里写了【精通算法】,顿时让我肃然起敬,但是实际面试下来,又让人大失所望
- 我们先量化一些东西,书本(比如本科的数据结构和算法教材)里常用算法/数据结构,40种以内,以红黑树这种比较复杂的为例,花2小时没有看懂,不要紧花4小时,4个小时足够在脑中充分演算,且写出代码来实际观测,如果还没弄的非常清楚,再加两小时,6小时,认真的话,看一个算法无论天资如何,应该都通透了;
- 按上限计算,40种常用算法共耗时240小时,如果一天只能抽出来1小时,那么按一个月30个小时计算,8个月,各种琐事打断,一年足以
- 二维/三维动归
- 布隆过滤器
- Trie树
- 并查集
- backtracking
- 线段树
零零总总加在一起一年四个月,而且还是比较宽松的估计;好了,认真投入一年半,写【精通算法】算谨慎乐观了;但算法导论的作者敢不敢说自己精通算法我不知道,我们这些晚辈做事说话要敬天爱人
那么下限呢?
这就比较灵活了,看很多方面,比如有的同学天资确实不错,别人觉得晦涩的东西,他很快就能理解,而且写出来行云流水;
不过这些都可遇不可求,但我更相信一点——世界上没有天才,你看到的只是那些非常努力以致于看起来毫不费力的人;
但这里非常关键的一点是,有些人看起来非常轻车熟路,不要轻易归咎于对方走了捷径,其实没有那么多捷径可以走,带着这样的思维考虑问题,很容易让你发现不了问题的本质,处处觉得自己不如人
- 沟通:沟通是一个人非常的软素质,研发其实很多时候需要对接很多非技术同学,能不能把一个事情抽象的比较好,用浅显的道理同步给对方其实是非常关键的能力;具体表现可能是
- 是不是可以脱离具体的术语直接阐述问题的本质?
- 表述一个问题是否一次性能传递完整图景,而不是先说一半,然后一直补充?
- 说话是否简明扼要,没有过多冗余的陈述?
- 讲一个问题的时候有没有自顾自地说,完全不管对方能否听懂?
- 是不是可以脱离具体的术语直接阐述问题的本质?
讲了这么多,我们再换一个角度看,所有这些能力
- 知识记忆偏右脑
- 逻辑分析偏左脑
- 沟通能力偏综合
真正的能力是海面下的冰山,一件非常需要长期积累,高投入的事情;但是一旦完成原始积累收益也极大,这将成为你和大部分人的分水岭,能够保高质量的职业生涯
最后,不要浮躁,不要短视,把能力提升这件事规划成在整个职业发展中有稳定投入的事情;无论你去哪个公司,一旦有这样的思路和可靠的执行力,必然会超越大部分人,只是时间问题
相关职位
社招职位
抖音音乐方向,iOS工程师
抖音音乐方向,Android工程师
https://job.toutiao.com/s/JL4yrub
2021校招提前批职位
所有校招职位都可以填写的我内推码:3UMFC7W
客户端工程师
- 上海:https://job.bytedance.com/campus/position/detail/6835561368263854349
- 杭州:https://job.bytedance.com/campus/position/detail/6835619740040923400
前端工程师
- 上海:https://job.bytedance.com/campus/position/detail/6835561368264558861
- 杭州:https://job.bytedance.com/campus/position/detail/6838545175892642061
2021校招提前批其他方向
后端工程师
上海:https://job.bytedance.com/campus/position/detail/6835619069605972237
杭州:https://job.bytedance.com/campus/position/detail/6835620228647356686
测试工程师
- 上海:https://job.bytedance.com/campus/position/detail/6835561368264837389
- 杭州:https://job.bytedance.com/campus/position/detail/6838822987027138829
测试开发工程师
- 上海:https://job.bytedance.com/campus/position/detail/6835563010158561549
- 杭州:https://job.bytedance.com/campus/position/detail/6838824755848743176
平台研发工程师(质量保障方向)
- 上海:https://job.bytedance.com/campus/position/detail/6838581509668489479
- 杭州:https://job.bytedance.com/campus/position/detail/6838824755849791752
C++客户端开发工程师(音视频方向)
多媒体视频算法研发工程师
多媒体客户端研发工程师
高性能计算研发工程师
技术美术(特效技术方向)
C++桌面端研发工程师
渲染引擎研发工程师
AR特效开发工程师
多媒体图形/图像研发工程师
另,北京/杭州/深圳/成都区域可通过https://job.bytedance.com/campus/position?keywords=%e6%8a%96%e9%9f%b3&type=2投递。
字节内推所有研发职位(不分地点,不分社招校招)
https://job.toutiao.com/s/JL46bDV