字节跳动
【岗位职责】
1、负责公司设备、推送、分享、红包、账号、IM、地理位置等客户端技术中台的建设和优化,完成高质量编码和测试工作;
2、负责公司核心产品(今日头条/西瓜/小说等)的技术中台模块功能研发和优化,深入参与产品需求讨论,功能定义等;
3、设计良好的代码结构,不断迭代重构;
4、用户增长、用户体系、垂直业务中台等技术研究,承担重点、难点的技术攻坚。
【岗位要求】
1、本科及以上学历,计算机、通信等相关专业;
2、熟练掌握Java/Kotlin/C++,熟悉Android SDK/NDK;
3、一年以上Android开发经验,能独立开发Android App;
4、具有扎实的编程功底,良好的设计能力和编程习惯;
5、优秀的沟通及表达能力,有一定的产品和业务sense;
6、能够快速的学习新的知识并应用到产品者优先,有良好的抗压能力。
薪酬:30K-50K | 学历要求:本科及以上 | 工作年限:1年以上
程序员经常出现的误区
1.所有的大厂都很看重候选人的教育背景和工作背景,所以有大厂工作背景或者高学历背景的话,还是有一定优势的。当然了,如果学历上有欠缺,也不要太担心,还是有机会的,不是我替字节说好话,而是它家的心态相对还是很开放的。
2.一定要注重简历的细节,不要觉得没必要, 要知道,同一个岗位,向字节、阿里这样大厂投递的简历非常多,如果自己的能亮眼一点,当然翻牌的机会就无形当中增加了。
3.字节的加班怎么说呢,据有些朋友的反馈,还是挺狠的,毕竟给的钱多。但做研发,首选的还是去大厂吧,毕竟大厂更尊重技术,尤其是薪资上,会有优势,另外,大厂的用户量大,有更好的技术应用场景,高并发、高性能,哈哈。
4.大厂对算法都比较痴迷,这个没办法,字节也不例外,所以多刷面试题,多背八股文还是有帮助的。
学习技能
算法题
事先已经看过别人的社招面经知道头条每轮技术面都有算法题,而这一块平时练习的比较少,校招时刷的题也忘记了很多。因此系统复习的时候算法题还是花了比较多时间的。先是快速刷完了剑指 offer,这个校招时已经刷过两遍了,因此现在刷起来会相对快一些。然后就是啃 LeetCode 的题了,LeetCode 的题比较多,想在短短几周内刷完基本是不可能的,因此我主要按照类型去刷,每个类型刷几道就会比较有感觉了。
我给大家整理了一些比较经典的,如果你有需要可以免费获取一下:
自行领取直达链接:【点击获取】
需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。
理论基础
基础这一块主要以快速复习为主,校招这一块会问的比较多,社招这一块问的比较少,但是如果这一块打不上来就比较尴尬了。
深挖项目
没有参与开源项目的经验,工作中做的项目也很一般,项目这块我实在没什么太多拿的出手的,不过还是要挖掘一下,毕竟这一块是逃不掉。我说几个我思考的点吧:
1.找项目中相对而言具有亮点的地方。可以将其考虑全面可以展示出自己具有一定的架构能力。
2.找项目中复杂的地方。如果你做的项目中有复杂的地方,即使不是你做的,也可以拿来说,前提是你要搞得非常清楚了。
3.量化指标。一个接口原来有性能问题,比如你做了一个小的优化,将其 TP99 的耗时从原来的 500ms 优化至 200ms。
4.赋能整个团队。在开发业务的过程中肯定会遇到一些重复的工作,或者可以复用的服务。你可以开发了某个工具或者服务化了某个功能推广到了全组使用,给公司创造了价值。
须知
怎么考算法呢?一般会分两步,第一步是直接让你说思路,第二步是让你直接上手写代码。字节跳动的算法题一般对应的是 LeetCode 中级模式,要通过面试,你肯定得花时间好好准备。
写算法代码的时候,你可以用白板,也可以用电脑,都行。常见的模式是给你 20 分钟时间,让你写出来某道题的解法。当然,肯定是越快做出来越好,这能说明你的熟练程度。
如果题目没做出来,千万别觉得自己是紧张。紧张是借口,核心还是不熟练,没有精通。知道分子,一无是处,专业和熟练才是关键。
写代码的时候,千万别以为只是看你算法能力。面试官还会通过这个环节考察你的编程习惯,比如变量名是不是爱用中文拼音,代码结构是不是很烂。等等。
学历这块的话,和大多数互联网公司一样,本科起步。学校好是加分项。
从这些沟通结果上看,字节更多是考察技术人员的基本功,基本功扎实,人足够聪明,又具备一定的软技能,那就可以做技术相关的任何事,他们对这一块的要求是专业和熟练。做知道分子是不行的。
自行领取直达链接:【点击获取】 B站资源
【B站系列学习视频】
【BATJAndroid视频合集第-面试集锦】 算法+Java基础+架构+(1-15持续更新…)】