目前互联网行业形势越来越严峻,我接连投递了很多的简历,得到的回复却是寥寥无几,索性好好复习了大概一个半月的样子,挑战字节跳动成功!!接下来分享我在字节面试遇到的面试题,欢迎大家文末留言与我一起讨论!
字节一面
- 面试题(面了一个小时,只记得一 小部分了,不分先后)
- 讲讲项目
- 在浏览器的ur栏里输入一个https的请求会发生什么? balabala.
- 三次握手,close_ _wait, time_ _wait原理
- 内存泄露原因,举例子,怎么排查,OOM异常
- 静态内部类会被编译成几个class?为什么内部类可以访问外部类的private的方法?
- 多线程安全,线程池相关问题
- 集合框架源码,concurrenthashmap, hashmap linkedhashmap实现L _RU
- 为什么需要锁,你知道几种锁,说说AQS,说说CAS
- synchronized原理, jdk6对他的优化,(偏向锁等), JNI, 逃逸分析,对象的markword
- 知道几个设计模式,怎么用,写双重检查锁单例模式
- 算法:手写jdk中的优先级队列 PriorityQueue(最大堆)
字节二面
- 面试题(面了一个小时,只记得一部分了,不分先后) 算法题:
- 介绍自己
- 说说项目,说说你的开源项目
- 剑指offer62:圆圈剩下的数字
- 写一个快排
- 给出一个数组nums, -个值k,找出数组中的两个下标i, j 使得nums[i] + numsj]= k 2种解法,排.数组+双指针o(n遍历或使用HashMap额外存储空间。
- 泛型List<Integer>与List<String>这两个的getClass是否相对? (泛型擦除, 中间还有一个小插曲,面试官问我<? extends String> 有什么作用?我说: String不是不可继承的嘛,被fina|修 饰的。相视而笑)
- 说说你知道的设计模式,说说项目里用到的设计模式,说说策略模式,设计一个下棋的场景问如何结合设计模式使用,设计模式什么时候继承,什么时候委托?
- 说说MySQL Innodb索弓|底层实现,说说join, 说说GroupBy
- 说说抽象类与接口区别?说说从设计模式层面的理解,为什么要有这么2个东西?
- 说说操作系统内存模型不连续空间分配,说说分段,分页,虛拟内存,页淘汰算法...11.说说Redis
- 底层实现,说说他和MySQL的区别
- 说说volatile,说说线程同步,说说JVM线程模型
- 说说动态**,说说你知道的AOP,项目中是怎样使用AOP的?
- 有没有使用过责任链模式?如果..个场景 ,如何选择使用设计模式
- 你还有什么问题?
字节三面(面了一个小时,只记得一部分了,不分先后)
- 自我介绍
- 项目用户量3w+,怎么做到的?如何协调团队?
- 说说项目中如何使用的Redis,如果有10w请求插入Redis,如何优化?
- 说说你理解的线程池
- 说说操作系统组成
- 手撕一个阻塞队列,生产者生产0~ 100的随机数,消费者消费后将其存储到一个list, 需要保持list中元素保持递增。(信号量+线程安全)
- 说说hashmap的resize死循环
- 说说hashtable和hahsmap区别,说说copyOnwriteArrayL ist以及他们分别采用的并发修改当然(fast-fail,fast-safe)
- 说说你的优缺点。
- 说说你对字节的了解? .
字节hr面
- 介绍下自己
- 这个项目3w的用户量如何统计的?如何处理团队问题?
- 为什么想来字节?
- 什么时候来?
- 口头offer
分享一下我的复习心得
互联网寒冬下只有不断学习才能进步,机会是留给有准备的人!!我深知这个道理,所以年前也没闲着,在家狠狠地复习了一下!
这次能够拿到头条的offer也是多亏了我这一个多月的复习,学到了不少的知识点,也劳心汇集了不少的资料文献,非常有帮助,
一个月不断复习刷题
Java核心知识面试体系
这本文档覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、Redis、数据结构、算法、大数据等大量知识点。
分为Java基础、数据结构算法、开源框架部分、分布式部分、微服务部分
第一份复习资料:
java基础+Spring+多线程高并发+分布式+微服务,这些都是我总结的学习心得
第二份复习资料:
Spring +Spring Boot +Spring MVC 面试必刷题+解析 (spring全家桶指南了,面试必被问到的知识)
第三份复习资料-刷题(含答案)