第一次面试字节跳动

作者:Nu11Pointer
出处:https://www.nowcoder.com/discuss/155740

=============================================================================
本人南京某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啊
觉得文章不错的欢迎关注我的WX公众号:程序员乔戈里
我是百度后台开发工程师,哈工大计算机本硕,专注分享技术干货/编程资源/求职面试/成长感悟等,关注送3000G编程资源,免费下载CSDN资源。

原文地址:https://www.cnblogs.com/qiaogeli/p/10469492.html

时间: 2024-10-11 01:22:49

第一次面试字节跳动的相关文章

记一道字节跳动的算法面试题

前几天有个朋友去面试字节跳动,面试官问了他一道链表相关的算法题,不过他一时之间没做出来,就来问了我一下,感觉这道题还不错,拿来讲一讲. 题目 这其实是一道变形的链表反转题,大致描述如下 给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序.(不能使用队列或者栈作为辅助) 例如: 链表:1->2->3->4->5->6->7->8->null, K = 3.

2019Android74道高级面试合集(含BAT字节跳动等等)

前言 最近半年,常常有人问我 "Android就业市场究竟怎么样,我还能不能坚持下去 ?" 现在想想,移动互联网的发展不知不觉已经十多年了,Mobile First 也已经变成了 AI First.换句话说,我们已经不再是"风口上的猪".移动开发的光环和溢价开始慢慢消失,并且正在向 AI.区块链等新的领域转移.移动开发的新鲜血液也已经变少,最明显的是国内应届生都纷纷涌向了 AI 方向. ? 可以说,国内移动互联网的红利期已经过去了,现在是增量下降.存量厮杀,从争夺用

字节跳动面试官揪着源码一直问,然后......

最近,我的一位朋友在找工作,已经拿到了美团.快手等公司的Offer,准备选择其中一家入职了.后来他又接到了字节跳动的电话,通知他去参加三面.从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知.由于已经拿到了很多大厂的Offer,他对这次面试还是挺有信心的.但是回来之后,表现的特别沮丧.一问之下,原来是面试官问的一些问题他回答的不好,他说面试官揪着源码一直问,但是自己并没有深入看太多的源码,所以回答的不是太好.他给我总结了一下面试官关于源码部分的问题,主要题目如下:1.你看过那些源码吗?

字节跳动面试总结(2019年8月)

个人简介 本人坐标南京,16年毕业,在某一传统行业从事JavaWeb后端开发,三年工作经验.出于技术焦虑.能力成长陷入瓶颈.对体制内的文化和氛围无法适应等原因,决心换个环境和工作,进入互联网行业,继续自己的技术追求之路.19年8月应聘字节跳动公司的后端研发工程师岗位,现对经历的4轮技术面和1轮HR面做个总结. 面试经历 每轮技术面时长40min-1h不等,可能一次一轮面试,也可能两轮连续进行.每轮先以简单的自我介绍开场,然后面试官根据个人的工作经历和技术能力进行提问,最后预留20min~30mi

【秋招面试专题解析】Android程序员如何拿到爱奇艺.字节跳动.抖音offer

刚好闲下来,顺便收集了一些关于爱奇艺,字节跳动,抖音的面试题目.也整理好了答案,希望对即将面试和跳槽的小伙伴有所帮助 一.2019爱奇艺秋招Android 1.使用堆排序方法排序(45,78,57,25,41,89),初始堆为( 89,45,78,25,41,57 ) 2.6个圆盘的汉诺塔,总的移动次数是( 63 ) 3.在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为(3) 4.有关希尔排序算法叙述 5

朋友的一年工作经验跳槽字节跳动社招经历分享(已拿offer)

虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作.因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯.字节跳动和 shopee,考虑的岗位方向仍然是后台开发(其他岗位也面不上呀,伤心).虽然年底跳拿不到年终奖了,但是我觉得和自己个人整个职业生涯的发展比起来算不了什么,最好的时机永远是当下. 准备 敲定了方向和目标后就开始系统准备,主要分为以下几个方面来准备. 算法题 事先已经看过别人的社招面经知道头条每轮技术面都有算

【北京/上海/南京】【部门直推】【可查询】【实习&社招】字节跳动数据平台前端内推

重要信息,写在前面  [投递邮箱][email protected] [微信扫码] 2019接近尾声,最后上车的机会,一定要抓住!!! 投过字节跳动,面试挂过不要紧!部门直推,捞起再面! 实习同学对项目经验没有强制要求.聪明.基础过硬.对操作系统.计算机网络.数据结构.算法有一定的理解即可! 21届及以后的同学欢迎来实习,实习转正so easy,妈妈再也不用担心我的offer! 我们是干啥的         数据平台为大数据的全生命周期提供服务,覆盖数据产生,传输,建模,统计分析,实验评估,可视

圆你的大厂梦!字节跳动Java高频面试题真题:一/二/三面+常见问题

目录 技术一面(算法) 技术二面 技术三面 JAVA开发技术面试中可能问到的问题 面试注意点 一.字节跳动技术一面(算法) Java 的 16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选 7 彩票程序 获取 GMT8 时间 中文乱码转换 小标签 Big5 字与 Unicode 的互换 取得服务器当前的各种具体时间 用半角的特殊符号代替全角的特殊符号 数组和数组之间的转换代码 从资源文

记第一次面试

想着这个大三暑假在合肥本地找个实习,就在实习僧投了好几家 Java 实习生,可等了三天都没反应..然后听说 Boss 直聘比较好,于是又上 Boss 直聘投了两家.可信息全部有去无回.. 不过说来运气也好,周五的时候,Boss 直聘上就有位面试官主动联系到我,招 Python 爬虫工程师,真是意外之喜. 然后今天电话里聊了聊,也没做啥准备,下午就进行了一次简单的面试.感觉答的还挺好的,面试官问的也简单,(远没网上各 BAT 面经那么恐怖)下面我简单地回顾一下,就只写我还记得的了: 什么是 OOP