字节跳动后台实习的一面二面三面面经

别问!问就是人才库警告⚠️!!!

2019年2月27日 怕是凉了。。还没有消息。。

=============================================================================

本人南京某985渣渣研究生一枚,生平第一次面试。。。说出来你们可能不信

虽然基本上是GG的节奏,还是写下这个帖子来记录一下吧,大家也可以参考一下。

============================================================================

真心喜欢“字节跳动”这个名字。。觉得好。。Q?

楼主前几天投了字节后台的实习岗位,第二天HR就打电话说安排面试了,视频面试约定在了下午五点,是真的准时,说5点就五点😂😂

在网上看了看大家的面经之后准备了一天就开始了第一轮面试;

一面:

三次面试的小哥哥都是挺友好的,这也是我能平静下来的原因(一开始的时候是真的紧张呀)

一上来就自我介绍,然后介绍自己的项目。bulabulabula 我做了XXX系统!!我完成了xxx功能!

介绍完开始问问题:

问:你之前做的安卓,安卓和Java有什么区别或者相同的地方吗?你的SDK多少版本?JDK呢?

答:安卓开发用的是SDK,就像Java的JDK一样,可以自己编写,相互调用实现。

问:JVM内存模型了解过吗?介绍一下?

答:java内存模型分为堆内存和栈内存,栈内存的话保存一些方法传递的参数和一些局部变量。堆内存的话分为新生代和老年代,新生代又分为eden区和两个survivor区 bulabulabula。。

问:新生代和老年代可以转换吗?

答:可以转换,一般来说new一个变量的话都是进入新生代的eden区,但是会有动态对象年龄判定 和长期存活的对象就会进入老年代。继续bulabulabula

问:这些内存里面的垃圾怎么回收?

答:有引用计数和可达性分析法。回收算法的话就有垃圾收集算法:标记-清除、复制、标记-整理、分代收集

问:怎么判断是垃圾?GCroot可以为哪些?

答:a. java虚拟机栈(栈帧中的本地变量表)中的引用的对象。

b.方法区中的类静态属性引用的对象。

c.方法区中的常量引用的对象。

d.本地方法栈中JNI本地方法的引用对象。

问:垃圾回收器了解过吗?介绍一下G1?

答:所有的回收算法都会存在STW问题,G1的话就是对这个问题进行优化,并行回收,用户很难感知。bulabulabula

问:数据结构了解过吗?hashmap底层是怎么实现的?

答:hashmap的话是数组+链表实现的,通过hash散列化来决定进哪一个数组,如果有的话就“挂”在链表的最后面。bulabulabula

问:hashcode一样怎么办?hashcode和equals的区别?

答:通过equals方法判断真正的内容。 hashcode和equals的关系如下:

1、如果两个对象相等(equals),那么他们一定有相同的哈希值(hash code)。

2、如果两个对象的哈希值相等,那么这两个对象有可能相等也有可能不相等。(需要再通过equals来判断)

问:equals和==的区别?我要比较内容呢?

答:equals:是用来比较两个对象内部的内容是否相等的。

==:是用来判断两个对象的地址是否相同,即是否是指相同一个对象。

如果没有重写equals时,是直接用==判断的

如果是基本类型和基本型封装,则仍然为比较内容。

问:下面我们来做几道题目吧?

答:(内心OS 来了来了来了!!!!)好。

题目一:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

当时我真的是很慌张!脑子里想的是我会做我会做!可是却是一片空白。深呼吸一下。用递归做了出来。 又问我除了递归怎么做?“那就遍历,每次都比较就行”

“那为什么不用遍历用递归呢?”“递归写起来简单啊!

题目二

给定一个二叉树,原地将它展开为链表。

leetcode原题。

题目三

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

秒了。

一面结束,说叫我别退,还有一个人。

“好”

====================================================================================

二面:

二面的小哥哥不懂Java 疯狂在问操作系统和底层的实现。。。

问:java导包的过程是怎么样的?

答:import啊(怀疑自己脑残。章口就莱??)

问:java的jar包是源代码吗?

答:jar包就是一堆.class文件

问:那别人的包你导入,你们的字节码会怎么样?互相影响吗?

答:不!知!道!(哭了,饶了我这个小菜鸡吧)

问:java的编译是怎么一个过程呢?

答:java编译器的话经过四个步骤,词义分析,语义分析,语法分析和代码生成。

问:java 的虚函数是怎么样的?

答:java里面是抽象函数和接口,然后bulabulabula介绍异同;

问:java内存模型是怎么样的?

答:上同。

问:java内存空间是怎么分配的?

答:

一, 对象优先在新生代Eden区分配

二, 大对象直接进入老年代

三, 长期存活对象将进入老年代(虚拟机设计了一个对象年龄计数器,该阀值默认为15)

四, 动态对象年龄判定 如果Survivor区中相同年龄所有对象大小的总和大于Survivor区空间的一半,年龄大于或等于该年龄的对象在Minor GC时将复制至老年代

五, 空间分配担保 当Minor GC时如果存活对象过多,无法完全放入Survivor区,就会向老年代借用内存存放对象,以完成Minor GC


问:我看你数据库用的比较多,介绍一下mysql的底层实现?

答:底层的话是用b+树实现的,它的优点是能够定位到数据点和范围查询。修改key与子树的组织逻辑,将索引访问都落到叶子节点并 按顺序将叶子节点串起来(方便范围查询) 等等。。。

问:TCP和UDP有什么区别?

答:

 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的

 TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。

 TCP协议所需资源多,TCP首部需20个字节(不算可选项),UDP首部字段只需8个字节。

 TCP有流量控制和拥塞控制,UDP没有,网络拥堵不会影响发送端的发送速率

 TCP是一对一的连接,而UDP则可以支持一对一,多对多,一对多的通信。

 TCP面向的是字节流的服务,UDP面向的是报文的服务。


问:我们做题吧?

答:(内心OS 来了来了来了!!!!)好。

二面的话就做了一道题目,可能是小哥哥比较急着吃饭吧。QAQ

问:合并两个有序链表。递归和非递归的实现。

答:(还好还好)秒了。


然后问了我一些基本情况,江苏的吧?问我有没有什么问他的?我:“emmmm 我都忘了我问的啥了”

老哥听完来了句“那就来吧”

内心温暖度maxXXXXXXXXX

问了下上司,要不要三面,上司在吃晚饭,决定晚上八点继续

=======================================================

三面的话就聊人生、聊项目

让我写了一下之前做的socket传输功能服务器端和客户端大概的方法、代码。

然后问了一个架构题目,好像是微博热门怎么查之类的。

没怎么听懂他的意思,Q_Q

应该就是一个TopK问题吧。

============================================

然后就让我等HR通知了。

5555

总体感觉的话还是要学的东西还挺多的,要不然以后心态还是会崩,会做的题差点因为紧张而得不到正常发挥。

感谢字节跳动给我面试的机会吧,不论最后有没有成,我还是要说,“字节跳动”这个名字真的好Q啊

#字节跳动##实习##面经##Java工程师#
全部评论
大佬,你说的那个java内存模型好像不是这样的吧,你说的是java内存区域,而内存模型是指在特定的操作协议下,对特定的内存或者高速缓存进行读写的协议的过程抽象。
点赞 回复 分享
发布于 2019-02-25 15:11
头条内推码:K6JWBBM
点赞 回复 分享
发布于 2019-02-26 12:51
完了,下周二面,你会的我都不会,幸亏我长得漂亮😁😁😁
点赞 回复 分享
发布于 2019-03-01 12:01
第一次面试就这么优秀吗
2 回复 分享
发布于 2019-02-24 16:04
收到offer没啊
点赞 回复 分享
发布于 2019-03-14 12:10
楼主最后结果如何?
点赞 回复 分享
发布于 2019-03-13 08:41
这都能凉?头条的实习有这么难进吗……
点赞 回复 分享
发布于 2019-10-10 17:22
太优秀了
点赞 回复 分享
发布于 2019-03-29 14:08
楼主答得这么好的都凉了吗??萌新瑟瑟发抖
点赞 回复 分享
发布于 2019-03-21 14:38
好厉害!!!
点赞 回复 分享
发布于 2019-03-20 18:31
大佬是哪里没答好呢,我觉得都差不多了啊
点赞 回复 分享
发布于 2019-03-17 16:25
点赞 回复 分享
发布于 2019-03-13 00:06
楼主投的上海还是北京深圳啊?
点赞 回复 分享
发布于 2019-03-12 23:53
感谢分享这都凉了,我还是放弃吧!
点赞 回复 分享
发布于 2019-03-10 22:40
大佬都这么厉害了 还被拒 看来菜鸡的我是找不到工作的
点赞 回复 分享
发布于 2019-03-06 17:12
这不是都答得差不多了吗 这也凉吗
点赞 回复 分享
发布于 2019-03-06 16:53
 你面的java,算法的写代码用的什么语言呢,可以用c++吗
点赞 回复 分享
发布于 2019-03-05 23:52
楼主nb
点赞 回复 分享
发布于 2019-03-05 15:17
这都凉。。 是不是宇宙条后台不招人了
点赞 回复 分享
发布于 2019-03-05 10:44
楼主好,我也马上要第一次面试😂想请问一下头条远程面试是用的牛客的系统吗?手撕代码的时候有测试用例直接运行出结果吗?
点赞 回复 分享
发布于 2019-03-05 09:02

相关推荐

03-29 15:34
门头沟学院 Java
北斗导航Compass低仿版:能不能先搞清楚优先级啊,怎么可能是项目问题,项目很重要吗?又没学历 又没实习大厂凭啥约面?那玩具项目 没应用在真实生产环境下的 就算做上天又有什么用?早点找个小公司实习 拿小公司实习去投大厂实习,这才是你现在该做的
投递美团等公司8个岗位 简历被挂麻了,求建议
点赞 评论 收藏
分享
03-02 02:44
门头沟学院 Java
墨西哥大灰狼:说实话尚庭公寓还是尽量换了,全是增删改查没什么意义
点赞 评论 收藏
分享
评论
49
501
分享

创作者周榜

更多
牛客网
牛客企业服务