外包辞职了,经历了2000小时后,走进字节跳动拿下offer

前言

没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。

2020年7月,我有幸成为了字节跳动的一名Java后端开发,正如标题所说,我从外包辞职了,经历了2000小时后,在字节跳动拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。

外包辞职了,经历了2000小时后,走进字节跳动拿下offer_第1张图片

字节跳动IES互娱面试经历还原(抖音后台)

<1> 字节跳动抖音4面面试题

因为我个人有复盘的习惯,所以在面试字节跳动时,基本是做到了每一轮结束就把面试题给总结出来,当然总结出来的可能跟实际情况有细微出入,但相差不大,基本上是我记忆里的极限。

Java部分:

  • synchronized,lock,AtomicInteger底层原理
  • HashMap,ConcurrentHashMap底层结构原理
  • 讲讲服务注册于发现(这部分主要讲了springcloud eureka 和部分 zookeeper,zookeeper的选举机制)
  • Spring AOP 的实现方式,siglib 能否代理final修饰的类?
  • JVM垃圾回收过程,并详细讲一种垃圾回收器
  • 强引用,软引用,弱引用,虚引用应用场景

计算机网络:

  • 拥塞控制和流量控制
  • 快重传和超时重传
  • 为什么四次挥手后客户端等2MSL
  • DNS解析全过程
  • http2.0,http3.0
  • https的连接过程
  • CA证书的验证过程
  • RPC框架了解吗?
  • 如何设计基于udp的可靠传输?
  • tcp如何保证数据安全性的?磁盘如何保证数据不丢的?

操作系统:

  • 阻塞io和非阻塞io
  • 进程和线程区别,通信方式分别是什么?
  • 虚拟内存和物理内存
  • linux 按 ctrl + c 中断的原理
  • 协程高效在哪?

 MySQL:

  • Innodb,B+树,聚簇索引和非聚簇索引区别
  • 一千万条数据,问 b+树大概多高?
  • 为什么用b+树而不是 b树,红黑树?
  • 在设计联合索引时需要注意什么?
  • 联合索引最左原则的底层原理
  • mysql 的 MVCC 以及是否解决幻读?
  • 手写sql,实现一个按时间降序的分页查询
  • redo log,bin log,undo log

Kafka:

  • kafka的rebalence
  • ISR
  • 如果新加进一个消费者会发生什么?
  • 如何保证数据一致性?

Redis:

  • RDB和AOF区别
  • 为什么RDB 要 fork子进程而不是线程?
  • redis基本数据类型
  • zset的底层数据结构,跳表何时增加高度?
  • 分布式 ​​​​​​​redis,缓存和数据库读写不一致,答的延迟双删
  • 面试官让随便讲讲​​​​​​​redis,所以还说了缓存穿透,击穿,雪崩以及处理方法

场景题和智力题:

  • 打字的智能提示和纠错的原理,让你来设计,你怎么做?
  • 如果有一个访问过的所有网站的记录集合,如何快速判断当前网站是已经访问过?(考虑布隆过滤器)
  • 从一个网站下载的时候,进度条如何实现的?
  • 64匹马,八个赛道,问至少跑多少次能找到最快四匹马?
  • 操作系统给你一块空闲内存,你如何设计使用和回收?

其他:(HR和Leader都问了一些开发性问题)

  • 你认为遇到过最大的挫折是什么?怎么解决的?
  • 职业规划
  • 对字节跳动的认识
  • 你认为字节是一家年轻的公司吗?年轻是核心竞争力吗?
  • 你有没有崇拜的人
  • 不考虑公司地理因素,最想要去哪个城市工作?
  • 平时的兴趣爱好?
  • 喜欢写博客吗?看什么书?

<2> 字节跳动面试总结(一些心得和小建议)

  1. 字节跳动对算法真的非常重要,提前刷题真的很有必要,不然基本上没戏,运气好的说不定还能被问到原题,当然你是算法大神,就不需要浪费时间在这上面了。
  2. 基本上每轮都有算法题,1~3道左右,难度不一,一般根据当次面试情况来的,会考虑的面试者的表现,但也不会太为难你。
  3. 拿到算法题时,不要立即作答,可以先和面试官聊一下自己的思路。

至于福利待遇,这里随便提及几点:

  1. 弹性打卡
  2. 房补(额度算很高了,算很人性化)
  3. 免费的三餐、下午茶(吃胖了)
  4. 免费健身房
  5. 顶配16寸MacBook
  6. 各种节日礼包

可能有人会有问题,字节跳动这么好吗?

首先我不是hr,也不是给字节打广告,我在外包出身,字节跳动对于我来说,算是一个巨大的知识库,之所以这么说,从面试的流程及细节,到后来我入职之后工作上面的安排,都让我有不一样的触动。从这几方面,我们都能够感受到公司对于员工的职业规划非常重视,你的主管和导师都会主动去找你沟通这方面的,这对比我之前的外包,是截然不同的地方。而在这个交流过程中,我获得到的,不是一星半点。

最让我佩服的是,字节有统一的入口可以导航到海量的指南和知识沉淀,甚至是其他各个产品线整理的技术和业务文档等等。

最关键的一点就是我努力了这么久,我看到了认同,大家都知道一个人付出了很大努力之后最终换来了回报之后,在自己的内心深处有着无比的满足感,好像人生走向了巅峰。

结尾:未来愿景及祝福

我知道,对于一些学历没有优势的人来说,外包是别无选择,但是未来的路究竟要怎么走,取决你的步子迈多开。每个人都有自己的选择,如果你喜欢稳定,那按部就班适合你,但你有想法,不甘平庸,那就别让外包埋没了你,哪怕是拼一把输了对我来说我也无憾。

其实,在我自己高中的时候我选择依靠体育专业考大学,我自己天生个子不高,可能没有别人那样的优势,我一开始是一百米15.12,到了高考的时候我的成绩练到了12.5,虽说只是提高了2.6秒左右,最终还是差了几分落败了,但是我已经竭尽全力了,至少我已经努力争取过了,从那以后我感到自己内心确实变得强大起来了,失败次数越多,越会让我对成功的渴望。

最后,希望未来的我发展顺利,同样,也祝愿你实现自己的人生理想,愿我们都越来越好,共勉!

后续有想去大厂的伙伴们,又不知道怎么学习的情况下,你们可以加一下我vx:15377312421 备注一下:csdn。还是那句话,祝福你早日实现自己的人生梦想,加油(声嘶力竭)!

你可能感兴趣的:(java,编程语言,面试,程序人生,职场和发展)