字节跳动一面:
- 自我介绍,主要讲讲做了什么和擅长什么
- 看你项目做Spring比较多, 问一下Spring相关的东西, IoC是什么概念?
- Bean的默认作用范围是什么?其他的作用范围?
- 索引是什么概念有什么作用? MySQL里主要有哪些索弓|结构?哈希索弓和B+树索引比较?
- 平常用线程主要是怎么写的,会用一一些线程框架吗? (没有用框架) Java线程池的概念?线程池有哪
- 些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
- ConcurrentHashMap讲一讲?
- Java GC机制? GC Roots有哪些?
- Java bin包下面的工具用过哪些?
- 算法题:红蓝两种球,总共N个,N>2, 排列组合,连续3个颜色一样是非法的,求合法的排列数量
字节跳动二面:
- 自我介绍
- 项目询问:问了简历上写得最早的项目的情况,项目QPS ?数据来源和传输形式?
- 发起一个HTTP请求的过程?刚才提到DNS , DNS用的什么传输层协议?为什么说用的是TCP协议?
- (我说其实我不清楚是用的什么协议)他说那让你设计的话用什么协议比较合适? (思考了一下,说
- 觉得UDP比较合适,比较轻量不占用服务器带宽,查了一下TCP和UDP都有 ,用在不同情境下)
- TCP协议的三次握手和四次挥手过程?
- 同步IO和异步IO的区别?
- 操作系统的blablabla? (懵)算了,直接问你好了, select和epoll ?
- 线程如何实现同步?
- MySQL了解到什么程度? binLog知道吗?
- 描述一下堆排的过程?建堆的时间复杂度?最大堆中求前K个最大值的时间复杂度?
字节跳动三面:
- 自我介绍。
- ConcurrentHashMap在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用
- HashMap ,什么情况用ConcurrentHashMap ?
- 加锁有什么机制?
- ThreadLocal ?应用场景?
- Web容器用的什么?你项目里涉及了SSM框架,一个请求到Tomcat容器了,怎么到SSM代码中去?
- 网络协议了解吗?
- 项目介绍一 下是做什么的?讲一讲学到什么东西?
- 平常怎么学习?
- 大学到现在遇到的最大困难是什么?怎么克服?事情太多的时候会有压力吗?
- 未来的规划?
- 目前有offer吗?
- 设计一个系统:用来促成交易,有多种商品,有购买方和卖出方,促成买家价格大于等于卖出价格的交易。
更多BATJ高级Java必考题与答案
总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
如果你对下面我说的这些笔记感兴趣,可以点赞+关注后,戳这里即可免费领取
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)**