离开外包之后,花了10000小时,最后我走进字节跳动拿到了offer

news2024/9/22 0:52:06

前言:

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

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

下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享,私信【外包】即可获取。

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,也不是给字节打广告,这里真的要提一下字节跳动的福利待遇绝对是一线厂子里数一数二的。加上我是外包出身,这种待遇给我造成的落差感就更明显,让我觉得能够进字节跳动工作算是我最大的幸运了。

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

  1. 弹性打卡

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

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

  4. 免费健身房

  5. 顶配16寸MacBook

  6. 各种节日礼包

②巨大的知识库

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

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

③我看到了认同

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

④虽辛苦,但不感觉累

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

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

⑤反思:关注工作效率

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

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

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

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

在外包中,我积累到了什么?

  1. 代码效率;

  2. 各种项目和业务的理解;

  3. 熟练使用增删改查。

在外包中,我复盘了什么?做了哪些总结?(写了一些博客,做了一些笔记总结,附下PDF)

  • Java架构成长笔记

  • Redis核心技术笔记(学习总结)

  • Spring全家桶学习笔记(SpringBoot+SpringMVC+SpringCloud+源码等)

  • 其它

D:下一个3年如何规划?

1.确定发展方向

程序员生涯大致分为五个阶段:

  • 第一阶段:2-3年,初级程序员

  • 第二阶段:3-5年,中级程序员

  • 第三阶段:4-7年,高级程序员

  • 第四阶段:5-8年,互联网架构师,大数据工程师

  • 第五阶段:8年+,技术总监,技术主管,首席架构师

目前,我处于第二阶段,有一定的工作经验,可以独立做一些项目,也有自己的代码习惯,甚至在团队中我也可以担任重要的角色。而日后的1-2年内,我肯定是要往三阶段过渡,甚至是四阶段过渡。

2.梳理学习路线

想要快速成长,一条合理且正确的学习路线才是最为重要的,所以梳理学习路线,是我目前学习上最重要的事情。(个人梳理的学习路线图如下)

目标:能够独当一面,在专业领域具备辅导他人的能力

学习内容:并发编程与JVM实战+缓存中间件+消息中间件+搜索中间件+高并发+高可用+搞扩展+网络通信与协议+分布式与微服务+分布式权限控制+微服务熔断降级与限流+微服务链路追踪+底层&源码深入解读+一线大厂分布式场景实战

3.学习方法

我个人的学习方法很简单,利用碎片时间进行系统性的学习。关于学习方法,我个人喜欢阅读书籍文档结合视频的方式,对于这些我自己个人也有一些整理。

  • 阅读书籍文档:

  • 看视频学习:

结尾:未来愿景及祝福

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

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

友情分享:文章码字不容易,希望多多点赞+转发+评论支持一波。

需要文章中提到的面试题、笔记、电子书、学习视频,可以关注我,然后斯信口令【666】即可免费获取下载方式哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/79923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全志A33移植openharmony3.1标准系统之添加产品编译

想玩openharmony很久了,苦于没有合适的板子能让我玩,已经适配好的开发板可真是太贵了啊,所以还是得自己动手啊,毕竟还能深入了解openharmony系统,之前有在A33上把主线uboot和主线内核跑起来,而且drm也是可以正常显示了,现在就基于此将openharmony移植到开发板上。 首先在…

【服务器】基本概念

服务器 文章目录服务器1.概览1.1.本质: **数据接受&传递**, **数据存储**, **数据处理**1.2.种类1.3.单位:1.4.标准1.5.扩展1.6.逻辑架构1.7.缓存Cache:1.8.内存DIMM1.9.DDR1.10.硬盘ref1.概览 1.1.本质: 数据接受&传递, 数据存储, 数据处理 1.2.种类 按应用分类WWW…

Snowflake Decoded基础教程

Snowflake Decoded基础教程 掌握基本的Snowflake概念并获得必要的技能以开始实施基于Snowflake的解决方案 应用程序 课程英文名&#xff1a;Snowflake Decoded Fundamentals and hands on Training 此视频教程共10.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印…

docker启动镜像失败后用日志logs查找失败原因

我用一个自己做的镜像上传到了dockerhub中&#xff0c;然后使用windows拉取pull下来之后&#xff0c;启动不成功&#xff1a; 可以看到&#xff0c;虽然启动了&#xff0c;但是docker ps 后没有看到正在运行的容器&#xff0c;所以我就怀疑启动失败了&#xff0c;但是我又不知道…

关键字(四):goto和void

关键字一.具有争议的关键词—goto二.“空”的关键字—void1.void为什么不能定义变量2.void修饰函数返回值和参数3.void指针一.具有争议的关键词—goto goto语句非常灵活&#xff0c;其实就是从goto这个位置直接跳转到goto后面的那个数据&#xff08;end&#xff09;所对应的位置…

电力系统短期负荷预测(Python代码+数据+详细文章讲解)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

整理 MySQL 常用函数,小伙伴们在也不发愁了

前言 为了简化操作&#xff0c;MySQL 提供了大量的函数&#xff0c;会对传递进来的参数进行处理&#xff0c;并返回一个处理结果&#xff0c;也就是返回一个值。MySQL 包含了大量并且丰富的函数&#xff0c;这里只是对 MySQL 常用函数进行简单的分类&#xff0c;大概包括数值型…

网站域名备案查询方法,批量查询网站域名备案的教程

网站域名备案查询方法&#xff0c;批量查询网站域名备案的教程 批量查域名备案操作步骤: 第一步、打开SEO综合查询工具。 第二步、添加需要查询的网站域名&#xff08;要查多少放多少&#xff0c;一行一个域名&#xff09;。 第三步、勾选域名ICP备案。 第四步、点击开始查询…

python带你体验唯美雪景,愿这个冬天的你,不缺暖阳

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 大雪已至&#xff0c;冬天无恙&#xff0c;愿这个冬天的你&#xff0c;不缺暖阳&#xff0c;好日常在 一、画一朵小雪花 import turtle import time from turtle import * # codingutf-8def sno…

%00截断

%00截断 CVE-2013-4547 影响版本&#xff1a;Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 影响说明&#xff1a;绕过服务器策略&#xff0c;上传webshell 环境说明&#xff1a;Nginx 1.4.2 /test.jpg%00.php该漏洞利用了Nginx错误的解析了URL地址&#xff0c;导致可以绕过服务端限…

Armadillo与OpenCV矩阵数据mat、vec与Mat的相互转换

本文介绍在C 语言中&#xff0c;矩阵库Armadillo的mat、vec格式数据与计算机视觉库OpenCV的Mat格式数据相互转换的方法。 在C 语言的矩阵库Armadillo与计算机视觉库OpenCV中&#xff0c;都有矩阵格式的数据类型&#xff1b;而这两个库在运行能力方面各有千秋&#xff0c;因此实…

shiro-spring-boot-starter

第2.1.7章 WEB系统最佳实践Spring文件配置之spring-shiro.xml 2016年还在使用shiro&#xff0c;后来使用应用springboot之后&#xff0c;因为有了网关&#xff0c;感觉网关就可以做一些拦截&#xff0c;就没必要一定要使用shiro&#xff0c;如果你使用平台还需要每个系统自己做…

小白学编程(Java)20:判断一个数是否是质数

解题思路&#xff1a; 第一步&#xff1a;弄明白质数是什么&#xff1f; 质数的定义&#xff1a;质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则称为合数&#xff08;规定1既不是质数也不是合数&am…

微信公众号开发——获取AccessToken接口调用凭据

&#x1f60a; 作者&#xff1a; 一恍过去&#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390&#x1f38a; 社区&#xff1a; Java技术栈交流&#x1f389; 主题&#xff1a; 微信公众号开发——获取AccessToken接口调用凭据⏱️ 创作时间&#xff1…

Typora的使用

一&#xff0e;标题&#xff1a;六级标题 1 .一级标题 2. 二级标题 二级标题 &#xff1a; ## 加一个空格 现在加 ## 空格 然后我们把光标放在其他地方 点击一下 3 层级列表 层级列表: > 空格 回车 在这一部分&#xff0c;我们先来讲解三个概念&#xff1a…

基于java+springboot+mybatis+vue+mysql的篮球竞赛预约平台

项目介绍 随着人们生活质量提高&#xff0c;越来越多的年轻人喜欢足球。尤其是在高校之中&#xff0c;每年都会举办一些足球和篮球比赛。甚至在国际上每年也都会有一足球和篮球联赛。很多高校为了提高学生的身体素质每年也都会举办一些篮球竞赛&#xff0c;为了让这些篮球爱好…

计算机毕业设计ssm+vue基本微信小程序的奶茶点单系统

随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受客户的喜爱&#xff0c;随便点奶茶点单小程序被客户普遍使用&#xff0c;为方便客户能够…

《发现心流》

关于作者 米哈里•契克森米哈赖&#xff0c;任教于美国加州克 菜蒙特大学&#xff0c;提出并发展了心流理论。他 一直在关注人类的积极心理体验&#xff0c;完成了 大量经典的研究工作&#xff0c;是该领域最权威的 学者之一&#xff0c;被誉为积极心理学的世界级领 军人物。 …

日期与时间

目录 一、基本概念 1.1、日期和时间 1.2、本地时间 1.3、时区 1.4、夏令时 1.5、本地化 二、Date 和 Calendar 2.1、Date 2.2、Calendar 三、TimeZone 四、LocalDateTime 4.1、LocalDateTime 4.2、Duration和Period 五、ZoneDateTime 5.1、创建实例 5.2、时区转…

电子学会2020年12月青少年软件编程(图形化)等级考试试卷(一级)答案解析

目录 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 二、判断题&#xff08;共10题&#xff0c;每题2分&#xff0c;共20分&#xff09; 三、编程题【该题由测评师线下评分】&#xff08;共2题&#xff0c;共30分&#xff09; 青少年软件…