字节跳动 java后台实习生 一二三+HR面面经 (已oc)

一面

1. hashmap
2. 为什么负载因子是0.75
3. spring ioc讲一下
4. 有jvm调优过吗
算法
1. 给出1-n,提供一个接口判断是不是bad,只要一个数是bad后面都是bad,一开始我以为是无序的,直接循环o(n),她说优化一下,我就觉得再优化就是logn了应该是二分,再仔细看了下题才发现是有序的
2. 链表表示数,两个链表相加返回一个新链表

二面

这个面试官超级好!!!他先自我介绍了一下不知道为什么就感觉超有被尊重,全程我说什么就一直点头让我觉得我说的好对hhh,算法有点毛病有点不会就很耐心地引导我
1. 高并发的项目问啊问,但全程都是在探讨没有被为难(开心
2. 另一个操作系统的项目问我进程是怎么调度的
3. 垃圾回收算法
4. 提到cms问我cms有几个步骤
5. cms会抛出con什么什么failure有什么解决方法, 我有点懵(小声),就扯了扯之前jvm调优用到的参数也就糊弄过去了,问我有个什么老年代的参数,是提前什么什么的阈值,我一想提前pre嘛,阈值thredhold,就说是pre什么thredhold具体有点不记得了,他说嗯差不多就是这个(我??蒙对了)
6. 动态代理实现的方式,我提到了aop里面的两种
7. 线程池参数,流程
8. tcp三握四挥
9. 为什么三次,我说可以避免打开错误的链接,避免迟到的ack到达以后打开两个连接,他说是怎么知道这个连接已经建立过了呢,我猜可能通过tcp头部的地址来确定的,也不知道对不对
(牛客的视频没法录音可能有些不记得了)
算法
1. 删除链表中重复的节点,有点小问题改过来以后他说做的挺快那我们就再写一道(??)
2. 二叉树的最小高度(注意是最小,不是普通的那种)

三面

1. 手写一个blocking queue

2. 拓扑排序,我直接把面试页面截在下面了,太久没接触图论了完全不会,面试官引到我往二叉树的三种遍历上想,我就觉得这又没有左右节点跟二叉树有什么关系,后来才慢慢明白过来是先递归输出子节点再输出自己的值,类似于后续遍历,写出来之后还忘了要保存这个节点有没有输出过(就是下面这个set忘了没写,会重复输出,面试官提醒了我才想起来)

3. 左连接右连接的区别

4. 平时刷题吗

5. 考研吗,为什么

(问的问题很少可能因为做题做的比较久)

反问,emm其实我从来不问面试结果,这次心里太没底了就问还有下一面吗,他说还有hr面,(呼 松了一大口气

hr面

(居然只面了我六分钟)

1. 平时怎么提升技术

2. 实习时间

3. 如果给了offer可以继续实习吗

4. 还有什么问题

#字节跳动##实习##Java##面经#
全部评论
HR面挂人了吗,oc是啥意思啊
点赞 回复 分享
发布于 2020-03-28 20:44
请问HR面试是发邮件呢还是直接打电话
点赞 回复 分享
发布于 2020-03-28 13:42
请问三面后多久约的hr面
点赞 回复 分享
发布于 2020-03-28 11:03
@所有人 从投递简历->到准备面试,都是你关心的干货【字节跳动-投递必读】https://bytedance.feishu.cn/docs/doccnG71V5OtL4GmlyMNnSZv3Cb#i96SHV
点赞 回复 分享
发布于 2020-03-28 09:15
什么部门是java呀
点赞 回复 分享
发布于 2020-03-28 06:23
大佬👏 我下午字节一面一上来就让我手撕算法,理解错题意做错了后面直接没了
点赞 回复 分享
发布于 2020-03-28 00:20

相关推荐

1.Q:你先做一个自我介绍吧。A:自我介绍。2.Q:看你写了蓝桥杯,应该对算法有所涉及,给我讲一下DFS和BFS。A:讲解了一下DFS和BFS是上面和思路,面试官让我实现我不会。3.Q:在Java中是怎么实现DFS和BFS的?A:不会,没有实现过,C语言我使用数组实现过,但是具体我也忘了。4.Q:我们跳过算法,讲一下Java,说一下你知道的集合。A:用的最多的是ArrayList,然后还有LinkedList。5.Q:比较一下二者的区别。A:ArrayList的底层数据结构是一个动态数组;LinkedList底层实现是链表,主要是数组和链表的区别。6.Q:ArrayList底层是怎么实现动态数组的?(ArrayList扩容原理)A:不会。7.Q:说一下你知道的Map。A:主要使用的比较多的是HashMap,然后可以排序的Map有TreeMap。8.Q:说一下TreeMap是怎么实现排序的?A:底层是使用红黑树进行排序的,但是具体实现我也不知道。9.Q:讲一下Java创建线程的几个方式。A:我知道有四种创建线程的方式:1.继承Thread类,2.实现Runnable接口,3.实现Callable接口,4.通过线程池创建。10.Q:线程池的几个重要的参数。A:核心线程数,最大线程数,工作队列……11.Q:线程池中的工作队列是一个什么队列?A:不知道。12.Q:通过继承Thread类创建的线程,如何运行?A:调用run方法,面试官说“注意是继承Thread方法,不是Runnable接口哦。”,调用start方法。13.Q:线程调用start方法之后处于什么状态?A:处于就绪状态。14.Q:在什么情况下会从就绪态转换为运行态?A:获得锁(好像是错的),或者其他线程调用notify方法唤醒该线程。15.Q:说一下你知道的锁。A:主要分悲观锁和乐观锁,悲观锁是线程必须要持锁才可以执行,其他线程必须等待锁释放,我使用过的有Synchronized锁;乐观锁是线程无需等待持锁线程释放锁也可以执行,主要有版本号法和CAS算法,我使用过版本号法。16.Q:说一下版本号法的具体实现。A:通过数据库存储版本号字段实现。17.Q:你知道哪些线程安全的集合?A:额……不知道。18.Q:讲一下Java中的线程和操作系统中的线程的区别。A:JVM虚拟机中的内存是一种用户级别的线程,操作系统线程是系统级线程,但是在JDK1.8(好像是)之后JVM虚拟机的线程直接使用操作系统的线程。19.Q:讲一下你知道的IO。A:我主要知道两种IO吧,最普通的InputStream、OutputStream;然后后面引入了NIO,可以使用直接内存。20.Q:详细讲一下NIO。A:不会了。21.Q:说一下SpringBoot中,你知道的注解。A:三层架构的注解,RestController,RequestBody,AutoWired……22.Q:说一下RestController和Controller的区别。A:RestController注解中有Controller,并且里面还有ResponseBody,然后一般是REST风格使用。23.Q:讲一下REST风格。A:具体定义我不知道,我讲了一下应用方面的REST风格。24.Q:讲一下HTTP协议的主要请求方法。A:Get和Post,然后讲了一下Get和Post的区别。25.Q:HTTP协议的请求头、响应头有哪些?A:随便说了几个我记得的。26.Q:讲一下HTTP响应码。A:200,404,401,403,500……27.Q:讲一下401和403的区别。A:401是未登录,认证失败吧,403是访问被拒绝。401是请求到了服务器,被拦截器之类的处理了;403是请求没有进入服务器就直接被拒绝了(错的离谱)28.Q:你项目是怎么实现登录鉴权的?A:讲了一下项目的登录流程,但是项目没有用到鉴权。29.Q:JWT令牌里面存了些什么,怎么防篡改?A:存了时间戳(太久没用了,我只记得有个这个了),防篡改我只知道是工具生成的,如果篡改了就无法解析成功。30.Q:了解过SpringSecurity吗?A:我只知道有这个东西,没学过也没用过。31.Q:说一下MyBatis底层原理A:我知道是反射和动态代理,然后我解释了一下反射(举例子解释的),MyBatis具体是怎么通过反射实现的我不知。32.Q:用过MyBatis中的xml配置实现SQL吗?A:用过,xml文件一般是用于实现MyBatis的条件查询或者复杂查询。应该还有一些问题,但是过了几天我已经忘了,面试官人挺好的,不会的问题先是引导,引导完了之后还不会就直接跳过了,不会在同一个问题一直追着问,然后给出的讲解也很清晰。鼠鼠是第一次面试到这么技术的,然后感觉自己还是太弱了,需要继续努力。
斫桂:感觉还行,继续努力
0经验如何找实习?
点赞 评论 收藏
分享
评论
13
73
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务