字节跳动一面
找一个你的项目说一下,首先你的项目介绍,承担了什么职责,做了哪些工作,难点(因人而异,这就不再赘述了
从你项目中看出,你使用的是 mysql,mysql 的 int 数据类型都有哪些?从小到大说一下,各占多少字节?
java 中的 int 都有哪些?字节占多少
问你一个关于计算机网络的,tcp 的三次握手说一下?
tcp 和 udp 的区别?
你说你熟悉 linux,我给你一个案例,搜索出 log 文本中出现次数最多的 IP,并且给出次数
说下 java 的 gc?
说一下 hashmap 这个数据结构?
进行一次查找的话 haspmap 的时间复杂度是多少?
给你一个算法你看一下,有一个无限长的整型数组,从小到大排序,非递增。那么怎么找到数组中一个 key?
闲聊
之后就问了我最近看了哪本书,学到了什么,最近还在学的什么技术呢?问了我职业规划,兴趣爱好,还说了说公司的语言选型,我后来问了下对于我的面试表现评价,人家不方便说,又问了新人培养等问题。
字节跳动二面
自我介绍
然后说一说 mysql 的索引结构吧
看一道题吧,这个题怎么建立索引
(1)第一道题: mysql 订单表有几个属性:订单 id,用户 user_id、下单日期 date(精确到天)等,请问索引怎样建立 a. 查询某个用户的所有订单 b. 查询某一天的所有订单 c. 查询某一天某个用户的所有订单 (2)第二道题: 10G 文件,每一行一个 uint32 数字。有一台 1G 内存的机器 - A. 找出最大的 k 个数 - B. 找出重复数字 (3)第三道题: 我手中有一堆扑克牌, 但是观众不知道它的顺序。 第一步, 我从牌顶拿出一张牌, 放到桌子上。 第二步, 我从牌顶再拿一张牌, 放在手上牌的底部。 第三步, 重复第一/二步的操作, 直到我手中所有的牌都放到了桌子上。 最后, 观众可以看到桌子上牌的顺序是:13\12\11\10\9\8\7\6\5\4\3\2\1 请问, 我刚开始拿在手里的牌的顺序是什么?用代码实现以下
字节跳动三面
这个面试官应该是一个总监级别的,说话非常的硬气,肯定是一个资深大佬,一共面了 40 多分钟。常规的面试基础都没问,纯怼项目和算法了。
自我介绍
你觉得你目前遇到的困难有哪些?项目上的难点?
你的项目数据库多大?QPS 多少?哪些 sql 比较慢?(项目上的事我就不说了……balaba)
那你觉得以后 qps 更大的话,你该怎么设计?
给你一个算法题,你来看一下思路
那留两分钟咱们聊一聊,你有什么想问我的
字节跳动四面
HR 面,大约 25 分钟,主要是问个人职业规划、薪资待遇,以及对字节跳动的期许等等
Java核心知识面试体系
这本文档覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、Redis、数据结构、算法、大数据等大量知识点。
分为Java基础、数据结构算法、开源框架部分、分布式部分、微服务部分


复习资料:
java基础+Spring+多线程高并发+分布式+微服务,这些都是我总结的学习心得

复习资料:
Spring +Spring Boot +Spring MVC 面试必刷题+解析

复习资料-刷题(含答案)
