写点什么

19 年末从外包辞职,10000 小时后, 进字节跳动拿 offer

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:2592 字

    阅读完需:约 9 分钟

下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享,免费获取方式在文末!


A:字节跳动 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 匹马,八个赛道,问至少跑多少次能找到最快四匹马?

  • 操作系统给你一块空闲内存,你如何设计使用和回收?


手撕代码:


  • 柱状图中矩形最大面积 leetcode 84

  • 查找第 k 小的数,用堆以外的方法做

  • 给 m 个房子涂 n 种颜色,相邻房子不同色,cost[i][j]表示给 i 号房子涂 j 颜色代价,求最小上色总成本。(LeetCode 原题)

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

  • 你认为遇到过最大的挫折是什么?怎么解决的?

  • 职业规划

  • 对字节跳动的认识

  • 你认为字节是一家年轻的公司吗?年轻是核心竞争力吗?

  • 你有没有崇拜的人

  • 不考虑公司地理因素,最想要去哪个城市工作?

  • 平时的兴趣爱好?

  • 喜欢写博客吗?看什么书?



赠送我的刷题题库(1:BAT 一线大厂面试真题)



赠送我的刷题题库(2:专题面试题)


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


  1. 字节跳动对算法真的非常重要,提前刷题真的很有必要,不然基本上没戏,运气好的说不定还能被问到原题,当然你是算法大神,就不需要浪费时间在这上面了。

  2. 基本上每轮都有算法题,1~3 道左右,难度不一,一般根据当次面试情况来的,会考虑的面试者的表现,但也不会太为难你。

  3. 拿到算法题时,不要立即作答,可以先和面试官聊一下自己的思路。



B:我为什么想要去字节跳动?(字节跳动的优势)


①福利待遇


我不是 hr,也不是给字节打广告,这里真的要提一下字节跳动的福利待遇绝对是一线厂子里数一数二的。加上我是外包出身,这种待遇给


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


我造成的落差感就更明显,让我觉得能够进字节跳动工作算是我最大的幸运了。


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


  1. 弹性打卡

  2. 房补(额度算很高了,算很人性化)

  3. 免费的三餐、下午茶(吃胖了)

  4. 免费健身房

  5. 顶配 16 寸 MacBook

  6. 各种节日礼包


②巨大的知识库


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


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


③我看到了认同


来到字节,我看到了认同,收获了归属感。字节跳动虽然年轻,但在做事上有共同一致的目标,这里的人讲“字节范儿”,它不是条条框框的束缚,它是一种精神食粮,实质是一种价值认同。恰好,拥有同一种价值认同的人走到了一起。


④虽辛苦,但不感觉累


字节跳动是一家非常年轻化的公司,对于一线的互联网公司来说,996 是常态,字节跳动也脱离不开“加班”二字。但是字节给我最大不同的感受是,忙碌且生机勃勃。在字节工作一段时间了,我也算是跟上了这里的节奏,虽然辛苦,但我却一点也不感觉累,因为在充实的工作环境中,我是有所收获的,在公司野蛮生长的同时,我个人也得到了快速的成长。


另外,别以为一线大厂的“打工人”只会死工作,字节人最大的特点就是年轻,他们同样会玩,每个人都有自己的爱好,骑行、狼人杀、健身、摄影、瑜伽等等,这与我之前对大厂人的印象显然不同,我也一点一点在慢慢被影响着。


⑤反思:关注工作效率


以前觉得自己的工作效率和时间管理做得还不错,至少能拿出时间做一点大家想做却没有做的事情,但现在才发现这也许只是错觉,你总做容易的事情,当然不会感觉到时间的压力,即便是项目进度比较紧的时候,加加班,搞搞 996 似乎也就那么回事。我们通常都会愿意延长时间,而不是考虑如何提高效率,在同样的时间内完成更多的工作,当然也有很多不言自明的客观原因。


来字节后,我才从身边同事的工作细节中看到了什么才是“效率”。



C:外包教了我什么?(积累了什么?)


很多人认为在外包学不到什么东西,但我却不这么认为,无论你身处什么环境,造成什么样结果的人都是你自己。所以,在外包工作的这些年,我并不是单一的机械化敲代码,在这个过程中,我会主动地去复盘,去总结,去学习,而慢慢积累的工作方式才铸就了我今天的“质变”。

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
19年末从外包辞职,10000小时后,进字节跳动拿offer