0
点赞
收藏
分享

微信扫一扫

花 3 个月备战字节跳动,春招3 轮面试拿下 65W Offer

安七月读书 2022-02-20 阅读 30

最近收到一位刚入职字节的 Python 工程师朋友投稿——以下内容来自其亲身经历,某双非硕士春招拿到 字节 65W offer ,感谢他的走心分享(文末附硬货笔记

在这里插入图片描述

个人情况简介

菜 J 一枚,本硕都是计算机(普通二本),2021 届应届硕士,后端方向。个人也比较喜欢看书,技术书之类的都有看,最后下面也会推荐一些经典书籍。

先说一下春招结果:拿下了四个大厂的 offer:字节、华为、B 站、滴滴的 offer。

拒了快手、美团、小米的二面面试邀约,都是因为 base 不是自己的意向地,所以拒掉了。

最终选择了和我价值观最符合的字节,定级 2-2。

面试经历 (总用时1小时)

公司主要的项目是做自动化测试系统。早上匆匆吃了早餐坐了20站地铁来到了金融中心大厦C1一楼,进去是有门禁的,拿身份证在一楼的机器上输入预约码,会给一张纸上面有二维码,刷二维码就可以进去。来到八楼还是有门禁,真的很无语,给字节品质部打了电话,她才给我开的门,工作环境是挺不错的。话不瞎扯上题才是最关键的,而且也可以给自己今天的面试一个总结。

在这里插入图片描述

1.首先做个自我介绍
2.自己做过的每个项目提一个问题,要求详细具体阐述
3.Python的内存管理机制和垃圾清理机制
4.MySQL数据库如何插入或修改一个字段
5.Python2和Python3的区别
6.Python3是用什么编码的,Python3转码的函数
7.Nginx如何用一个IP部署服务器
8.列举列表和字典中的所有方法
9.如何利用js写多线程
10.Django如何实现一个页面的跳转
11.socket编程有哪几种方式,具体如何实现的
12.这里有一支笔,请列举这支笔的10种用途

这里我自己做个自我总结吧,整体问的问题现在回头看也不是太难,我就不一一解答了。不过,问题问的大多比较笼统,导致一个问题就是一定要有自己答题的逻辑性,不要因为面试紧张或者问的问题很宽泛而无从下手,乱了分寸。

面试之前

市场环境

先说一下大环境,中国的互联网环境已经渐趋稳定成熟了,但初中级别的程序员依然很泛滥,高级程序员很缺失。所以想要在众多应聘者中脱颖而出,实力才是王道。

个人定位

我觉得,每一个招聘者都要对自己在市场上的位置做一个合理的评估,这样才能准确的知道自己想要找什么类型的公司,是大公司大平台呢,还是中小型企业呢,还是创业公司呢?评估的依据,取决于自己的实力,职业道路的方向,以及对市场的认识。

不过如果不清楚也没有关系,投递公司的时候可以各类公司都投一投,大中小公司都去面一面,总之,不要把鸡蛋放在一个篮子里,多给自己制造一些机会。面试是一个很好的去接触外界,了解自己能力水平的过程,可以帮助你对市场环境有一个更清晰的认识。面试结束后通常有反问问题的环节,也可以把握住机会,多去问一问对方公司在做的东西,使用的技术栈等等。

对于我自己来说,我就把面试当成一个很好的检验自己的机会,同时让我有机会去和别的公司交流技术。所以说,平时在工作过程中,也可以隔三差五的出去面试一下,看看自己的能力水平几何,避免自己和市场脱节太久,以及温水煮青蛙的情况。

简历

接下来就是制作一份简历,关于如何制作一份简历,网络上的教程也很多了。我觉得技术简历的关键就是要把自己的做的比较出彩的项目,以及个人技术栈讲清楚,这些都是面试中问的比较频繁的几个点。另外因为自己痴迷于markdown,第一次尝试了markdown风格的简历,效果还不错,蛮清晰的。

渠道

对于招聘渠道的选择,如果有小伙伴的内推那是最好的,另外建议多注册几个app,多管齐下的去寻找面试机会,比如拉勾、boss直聘、猎聘等等。一些想去的公司的官网的招聘页,也是一个不错的信息来源。

面试准备

作为技术面试,该如何去复习准备面试呢,我觉得可以从以下几点去考虑。

数据结构与算法

为什么把这一块放在第一个讲,因为这是技术面试里非常重要,但是平时工作中又最容易忽视的一块。都说「面试造航母,工作拧螺丝」,如果不是算法岗,程序员在日常工作中算法使用场景非常有限,但这就是面试考察的一个重点。

我大概面了十几家公司,基本每家公司都会考一些算法题,或者让你说一下思路,或者直接手写程序,如果没有事先准备过,会特别的不适应,尤其是白板算法那块。

所以,我的准备建议是,面试前至少前一周,就要花时间去练习算法题,保持手感了。

首先强推leetcode网站,中文站是https://leetcode-cn.com/。leetcode是非常有名的刷题网站,里面汇聚了各大企业的经典算法题,而且可以在线提交代码,自定义测试用例,查看其他人的题解等等。如果你觉得中文站上面的题解没有自己想要的,也可以看一下外文站https://leetcode.com/ ,他们的题目顺序都是一样的,只是中文站在本土化这方面更强一点。

如果因为时间紧迫,我建议你针对以下数据结构和算法的知识点进行重点复习:

  1. 各种排序算法,冒泡排序,堆排序,快速排序等,时间复杂度空间复杂度分析,能做到手写。

  2. 常用数据结构。链表、二叉树、堆、栈等等。

  3. 经典算法题。(待整理)

基础知识

任何一门技术面试,基础知识一定是重中之重。对于python程序员面试来说,我觉得下面三块内容比较重要,考察的频率也非常高。

  1. 语言基础

可变对象、不可变对象、装饰器、迭代器和生成器、线程和进程、魔术方法、动态解释性、元类等。

  1. web基础

http请求、状态码、网络安全、django处理请求的顺序、cookie和session

  1. 数据库

mysql的事务、索引、锁、性能调优,nosql数据库中redis考察的比较多。

项目经验

一般对应届生来说,基础知识很重要。对于社招来说,项目经验是非常重要的一块内容。

我建议可以从下面几个角度去准备自己的项目:

  1. 项目介绍

推荐STAR模型。

S——situation,项目是什么背景下产生的 T——task,你的任务是什么 A——action,你怎么做的 R——result,结果如何

  1. 项目中的难点、闪光点

我相信每一个真实做过自己的项目的人,肯定会对自己的项目有所思考。总结一下自己在这个项目里最难的地方,以及最精彩的地方,也可以使用上面的STAR模型。

  1. 项目框架

有的面试官会要求你在白纸上把项目的框架图或者设计图画出来,这个也可以提前准备下,做到条理清晰,临场画的话很容易乱。

总结

面试是一场艰难的战役,我发现在那种紧张对弈的交锋氛围中,我从来没有体会过所谓超常发挥的感觉,准备了100分,能把60分发挥出来就已经非常不错了。所以,建议每一个面试者都要提前把一些必问的东西(个人介绍、项目经验等等)提前准备好,并且模拟表达一下,以防临场紧张而忘词。

职业发展

作为一个代码打工仔,对于绝大部分程序员来说,想要成为牛逼的真正挣钱程序员的路还很长,一刻都不能懈怠。

我们无法从HR角度,或者技术leader的角度来臆测哪种状态的面试更能获取面试官青睐。但通过我们积攒的大量的面试经验,大家多少可以推断一些成为有竞争力的程序员的一些必要条件。

大佬云集、资料丰富

当初我在字节认识一个非常非常资深的前辈,他到字节比我早三年,但因为各种原因级别不是很高。我当时问他,既然你对现状如此不满,为什么不想着离开寻找更好的机会呢?

他沉思了片刻跟我说,他说我现在在这里虽然待着不顺心,但是我接触到的人都是非常优秀的。我遇到问题,还可以和你们讨论讨论。我如果出去了,我要是再遇到问题,可能连一个讨论的人都没有。

我当时听听只是觉得有道理,现在再回想起来,感受非常深刻。三观、格局、能力,能够进入大公司的,这三个方面一般都不会太差。别的不说,就拿个人能力而言,我曾出国出差过几个月,有幸见识了许多各种海外名校的同事,和他们学习交流人工智能,这真的让我AI有了更深层次的认识。

除了优秀的同事之外,大公司里往往还有丰富的内部文档和资料。我当时在字节内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来两年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以腾讯、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。

文中所展示的资料全部都是免费分享,扫一扫下方CSDN官方认证微信二维码即可【保证100%免费

在这里插入图片描述

Python 知识手册

Linux 知识手册

爬虫查询手册

而且,这些资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习:

数据分析知识手册:

机器学习知识手册:

金融量化知识手册:

岗位内推、学习交流

我们大量需要前端岗位、python岗位、Java 岗位、Android 和 iOS 的开发岗位,工作地点:北京字节,欢迎校招社招扫描下方二维码找我内推

在这里插入图片描述

如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的CSDN官方技术圈一起学习交流吧!

举报

相关推荐

0 条评论