字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库

前言

字节跳动在图文、视频、问答、图片等领域连续发力,产品矩阵包括今日头条、抖音短视频、西瓜视频、懂车帝、GoGoKid英语、皮皮虾、Faceu激萌、轻颜相机等多款产品,以及AI教育产品、企业SaaS等新业务。截至2020 年1月,抖音日活跃用户数已经突破4亿,字节跳动旗下全线产品总MAU(月活跃用户)超过15亿!

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第1张图片

 

文章有点长,请耐心看完,绝对有收获!不想听我BB直接进入面试分享

字节跳动一面

1.自我介绍,聊项目, 这边挺常规的,从项目入手。

2.你感觉比本科阶段自己进步了多少,有哪些进步

3.研究生期间最大的进步是什么

4.你觉得你适合从事哪个方向的开发

5.算法里有什么改进的地方吗?

6.多线程间怎么通信?

7.怎么部署的?

8.unet结构,为什么要下采样,上采样?

9.手撕代码 1)给一个数N,k 每一轮可以进行两种操作的其中一种

10.所有的数拆分成两个更小的数

11.所有的数-1 已知拆分操作只能进行k次 问 最少需要多少次把所有数都消去

2)给一串数列,这串数列有正有负,但是总和为0。每个数xi代表一个村庄,正的表示村庄想卖出xi份水果,负的表示想买入xi份水果。两相邻村庄间的距离是相同的,单位距离运送一份水果的运费均相同,每份都是k。问,把每个村庄的需求和供给都解决掉需要的最少运送费是多少?

字节跳动二面

1.说说你知道的几种主要的jvm 参数

2.JVM中哪个参数是用来控制线程的栈堆栈小

3.编写多线程程序有几种实现方式

4.什么是线程局部变量

5.什么是多线程环境下的伪共享(false sharing)

6.同步和异步有何异同,在什么情况下分别使用他们?举例说明

7.解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲 观锁

8.TCP、UDP 区别及 Java 实现方式

9.有T1,T2,T3三个线程,怎么确保它们按顺序执行?怎样保证T2在T1执行完后执行,T3在T2执行 完后执行

10.可以在 hashcode() 中使用随机数字吗?

11.short s1 = 1; s1 = s1 + 1;有什么错?

字节跳动三面

1.一个数据先递增再递减,找出数组不重复的个数,比如 [1, 3, 9, 1],结果为3,不能使用额外空间, 复杂度o(n)

2.求数组的最长连续递增数列,如:4, 200, 3, 1, 100, 2。结果是1 2 3 4,也就是说顺序可以 打乱。(leetcode 128)

3.LRU算法知道吗,怎么实现的?

4.思考题:64匹马,8个跑道,选跑最快的4匹马需要比赛多少次

5.红黑树,B+树,跳表应用场景

6.高考成绩2000万数据,分数0-750,如何快速知道你的排名,如何知道任一分数排名 --->桶排序

7.概率:两个人轮流抛硬币,先抛到正面的赢,问先抛的人赢的概率

8.有一个会议室里有一个录音麦,有n个人抢着说话,麦只能录到声音最大的人,给定每个人开始 的说话时间s,结束的说话时间t,说话音量vol,然后求这个麦最后录到的声音序列。数据范围: n 2e5。s,t,vol 1e9

9.两个链表,可能相交,找出相交的节点,给出证明

10.某一个大文件被拆成了N个小文件,每个小文件编号从0至N-1,相应大小分别记为S(i)。给定磁盘 空间为C,试实现一个函数从N个文件中连续选出若干个文件拷贝到磁盘中,使得磁盘剩余空间最 小。

字节跳动四面


1.Java 9 带来了怎样的新功能

2.有没有处理过线上问题?出现内存泄露,CPU利用率标高,应用无响应时如何处理的

3.解释一下什么叫AOP(面向切面编程)

4.你对 Spring Boot 有什么了解?

5.Spring Cloud 解决了哪些问题?

6.微服务架构的优缺点是什么?

7.简单讲一下贪心算法?

8.坐标系中有一个球桌,四个角坐标:(0,0), (0,4), (2,4), (2,0),一颗球在(1,1),请问从哪些角度可以 射入洞内(可无限次碰撞)?

9.说说你知道的设计模式,说说项目里用到的设计模式,说说策略模式,设计一个下棋的场景问如何 结合设计模式使用,设计模式什么时候继承,什么时候委托?

10.求完全二叉树的节点个数,小于O(n),并分析复杂度

11.概率:54张扑克牌,平均分成3份,大小王在一份的概率?

12.一个无序数组,从小到大找到第一个缺的数,比如[8 2 4 3 6 9 7 11 12],第一个缺的就是5

13.B+树和红黑树, 红黑树和一般的平衡二叉树,增、删、改、查的过程和效率、时间复杂度

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第2张图片

 

字节跳动五面

1.自我介绍,项目类型。

2.为什么选择字节跳动?

3.如何规划自己的生活?

4.请您简要介绍一下自己的成长历程。

5.遇到最大困难是什么?怎么克服?

6.未来的规划是什么?

说了这么多,最后分享一下,我的Java核心面试宝典及算法刷题资料~

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第3张图片

 

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第4张图片

 

1000道互联网Java工程师面试题

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第5张图片

 

一份是技术干货《Java核心知识点整理》

面试宝典《互联网Java工程师面试题大全》

《程序员代码面试指南》

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第6张图片

 

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第7张图片

 

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第8张图片

 

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第9张图片

 

字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库_第10张图片

 

字节跳动必备算法书,包含各类一线互联网大厂算法题《程序员代码面试指南》

资料领取点击传送门免费获取

你可能感兴趣的:(算法,java,面试,编程语言,数据结构)