做者:Nu11Pointer
出处:https://www.nowcoder.com/disc...java
=============================================================================
本人南京某985渣渣研究生一枚,平生第一次面试。。。说出来大家可能不信mysql
真心喜欢“字节跳动”这个名字。。以为好。。Q?
楼主前几天投了字节后台的实习岗位,次日HR就打电话说安排面试了,视频面试约定在了下午五点,是真的准时,说5点就五点😂😂
在网上看了看你们的面经以后准备了一天就开始了第一轮面试;
三次面试的小哥哥都是挺友好的,这也是我能平静下来的缘由(一开始的时候是真的紧张呀)
一上来就自我介绍,而后介绍本身的项目。bulabulabula 我作了XXX系统!!我完成了xxx功能!
介绍完开始问问题:面试
答:安卓开发用的是SDK,就像Java的JDK同样,能够本身编写,相互调用实现。算法
答:java内存模型分为堆内存和栈内存,栈内存的话保存一些方法传递的参数和一些局部变量。堆内存的话分为新生代和老年代,新生代又分为eden区和两个survivor区 bulabulabula。。sql
答:能够转换,通常来讲new一个变量的话都是进入新生代的eden区,可是会有动态对象年龄断定 和长期存活的对象就会进入老年代。继续bulabulabula数据库
答:有引用计数和可达性分析法。回收算法的话就有垃圾收集算法:标记-清除、复制、标记-整理、分代收集数组
答:a. java虚拟机栈(栈帧中的本地变量表)中的引用的对象。
b.方法区中的类静态属性引用的对象。
c.方法区中的常量引用的对象。
d.本地方法栈中JNI本地方法的引用对象。
问:垃圾回收器了解过吗?介绍一下G1?
答:全部的回收算法都会存在STW问题,G1的话就是对这个问题进行优化,并行回收,用户很难感知。bulabulabula服务器
答:hashmap的话是数组+链表实现的,经过hash散列化来决定进哪个数组,若是有的话就“挂”在链表的最后面。bulabulabula网络
答:经过equals方法判断真正的内容。 hashcode和equals的关系以下:
一、若是两个对象相等(equals),那么他们必定有相同的哈希值(hash code)。
二、若是两个对象的哈希值相等,那么这两个对象有可能相等也有可能不相等。(须要再经过equals来判断)数据结构
答:equals:是用来比较两个对象内部的内容是否相等的。
==:是用来判断两个对象的地址是否相同,便是否是指相同一个对象。
若是没有重写equals时,是直接用==判断的
若是是基本类型和基本型封装,则仍然为比较内容。
答:(心里OS 来了来了来了!!!!)好。
题目一:给定一个排序链表,删除全部重复的元素,使得每一个元素只出现一次。
当时我真的是很慌张!脑子里想的是我会作我会作!但是倒是一片空白。深呼吸一下。用递归作了出来。 又问我除了递归怎么作?“那就遍历,每次都比较就行”
“那为何不用遍历用递归呢?”“递归写起来简单啊!”
题目二
给定一个二叉树,原地将它展开为链表。
leetcode原题。
题目三
给定一棵二叉树,想象本身站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
秒了。
一面结束,说叫我别退,还有一我的。
二面的小哥哥不懂Java 疯狂在问操做系统和底层的实现。。。
答:import啊(怀疑本身脑残。章口就莱??)
答:jar包就是一堆.class文件
答:不!知!道!(哭了,饶了我这个小菜鸡吧)
答:java编译器的话通过四个步骤,词义分析,语义分析,语法分析和代码生成。
答:java里面是抽象函数和接口,而后bulabulabula介绍异同;
答:上同。
答:
一, 对象优先在新生代Eden区分配
二, 大对象直接进入老年代
三, 长期存活对象将进入老年代(虚拟机设计了一个对象年龄计数器,该阀值默认为15)
四, 动态对象年龄断定 若是Survivor区中相同年龄全部对象大小的总和大于Survivor区空间的一半,年龄大于或等于该年龄的对象在Minor GC时将复制至老年代
五, 空间分配担保 当Minor GC时若是存活对象过多,没法彻底放入Survivor区,就会向老年代借用内存存放对象,以完成Minor GC
答:底层的话是用b+树实现的,它的优势是可以定位到数据点和范围查询。修改key与子树的组织逻辑,将索引访问都落到叶子节点并 按顺序将叶子节点串起来(方便范围查询) 等等。。。
答:
TCP协议是有链接的,有链接的意思是开始传输实际数据以前TCP的客户端和服务器端必须经过三次握手创建链接,会话结束以后也要结束链接。而UDP是无链接的
TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,可是UDP不保证按序到达,甚至不保证到达,只是努力交付,即使是按序发送的序列,也不保证按序送到。
TCP协议所需资源多,TCP首部需20个字节(不算可选项),UDP首部字段只需8个字节。
TCP有流量控制和拥塞控制,UDP没有,网络拥堵不会影响发送端的发送速率
TCP是一对一的链接,而UDP则能够支持一对一,多对多,一对多的通讯。
TCP面向的是字节流的服务,UDP面向的是报文的服务。
答:(心里OS 来了来了来了!!!!)好。
二面的话就作了一道题目,多是小哥哥比较急着吃饭吧。QAQ
答:(还好还好)秒了。
而后问了我一些基本状况,江苏的吧?问我有没有什么问他的?我:“emmmm 我都忘了我问的啥了”
老哥听完来了句“那就来吧”
心里温暖度maxXXXXXXXXX
问了下上司,要不要三面,上司在吃晚饭,决定晚上八点继续
三面的话就聊人生、聊项目
而后就让我等HR通知了。 5555 整体感受的话仍是要学的东西还挺多的,要否则之后心态仍是会崩,会作的题差点由于紧张而得不到正常发挥。 感谢字节跳动给我面试的机会吧,不论最后有没有成,我仍是要说,“字节跳动”这个名字真的好Q啊