Java程序员必会!2021大厂Java面试最火问题

## 面试前的准备 老实说,我自己平常没事就会看一些面试题,所以我都是直接去面的。不过我还是要建议大家如果准备面试的话,需要做以下准备 1. 背题:看一看最近的面经文,了解现在公司都在面什么类型的题,准备一些常见题,开背吧!如果一些基础的 js 都不会那问题就有点小大了。 2. 算法:做一些算法题,leetcode 上面的一二三星就够了,前端算法很简单,基本都是初中数学的难度吧。 3. 项目:项目回顾,把你做的项目从技术架构到源码都要做到足够了解,至少面试的时候不要被面试官问住了。并且要体现出你在工作中的作用,体现出自驱性(大公司都很看重自驱性) 4. 亮点:准备亮点,回答问题的时候不用全部回答上来,但是在面试的过程中一定要有亮点(不然你就会得到反馈,面试官说你还行,但是没有过~) 我一般会准备几个点,每个点都保证可以睡上半小时。另外一定要了解得很深入,并且能够用自己的话流畅的表达出来!!(我准备的几点,性能优化、工程化、缓存、http) 5. 内推:最好找人内推,成功率会提高一些 6. 练手:先找几家不太想去的公司(规模差不多)练练手,如果第一次面试就去心仪的公司面试,淘汰率会非常高。 7. 心态:心态很重要,面试不过很正常,不证明你不优秀,只是不适合,总结面试经验,为下一次做准备。 8. 答题:怎么把自己会的问题说好,这个很关键 * 逻辑清晰:一定要逻辑清晰,不然即使你知道这个问题的答案,面试官也不会满意,如果你逻辑清晰,即使这个答案不会,面试官也会给你加分 * 独特理解:现在的面试题大同小异,那么如何体现出你的优势就很重要。结合业务以及你自身的知识储备来讲 * 深入思考:对每个问题一定要有深入的思考,不然就很难进入大公司了,深度上要有一个拔高才能在面试中获得好的成绩 * 流畅表达:面试就是一个表达的过程,一些问题心里明白不行,还要流畅的表述出来,基本上如果面试官觉得你表达的很流畅,当你讲到一半就不会再让你说下去了,证明已经通过了 刷题绝对是最重要的,于是问了我在阿里的同学要来了一全套他们公司P8整理的系列大厂面试题,刷到天昏地暗,如今既完美收官了,这些面试题还有自己之前收集整理的一份核心架构进阶知识点。存在网盘也没太大的用处,所以在这里免费分享出来给有需要的朋友 ![image](http://www.icode9.com/i/li/?n=2&i=images/20210707/1625631847373770.jpg) ## 字节跳动4面(3面技术+1面HR)面试经历 ### 1.1 字节跳动一面 1. 首先自我介绍,balabala……(此处省略三分钟) 2. 找一个你的项目说一下,首先你的项目介绍,承担了什么职责,做了哪些工作,难点(因人而异,这就不再赘述了,balabal……(省略三分钟)) 3. 从你项目中看出,你使用的是mysql,mysql的int数据类型都有哪些?从小到大说一下,各占多少字节? 4. java中的int都有哪些?字节占多少 5. 问你一个关于计算机网络的,tcp的三次握手说一下? 6. tcp和udp的区别? 7. 你说你熟悉linux,我给你一个案例,搜索出log文本中出现次数最多的IP,并且给出次数 8. 说下java的gc? 9. 说一下hashmap这个数据结构? 10. 进行一次查找的话haspmap的时间复杂度是多少? 11. 给你一个算法你看一下,有一个无限长的整型数组,从小到大排序,非递增。那么怎么找到数组中一个key? 12. 闲聊 > 之后就问了我最近看了哪本书,学到了什么,最近还在学的什么技术呢?问了我职业规划,兴趣爱好,还说了说公司的语言选型,我后来问了下对于我的面试表现评价,人家不方便说,又问了新人培养等问题。 ### 1.2 字节跳动二面 1. 自我介绍(balabla) 2. 然后说一说mysql的索引结构吧 3. 看一道题吧,这个题怎么建立索引 > (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 请问, 我刚开始拿在手里的牌的顺序是什么?用代码实现以下 ### 1.3 字节跳动三面 > 这个面试官应该是一个总监级别的,说话非常的硬气,肯定是一个资深大佬,一共面了40多分钟。常规的面试基础都没问,纯怼项目和算法了。 1. 自我介绍 2. 你觉得你目前遇到的困难有哪些?项目上的难点? 3. 你的项目数据库多大?QPS多少?哪些sql比较慢?(项目上的事我就不说了……balaba) 4. 那你觉得以后qps更大的话,你该怎么设计? 5. 给你一个算法题,你来看一下思路 6. 那留两分钟咱们聊一聊,你有什么想问我的 ### 1.4 字节跳动四面 HR面,大约35分钟,主要是问个人职业规划、薪资待遇,以及对字节跳动的期许等等 ## 总结 一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。 这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。 最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!! 提供【免费】的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。 **[Java全套进阶资料点这里免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)** 还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。 ![在这里插入图片描述](http://www.icode9.com/i/li/?n=2&i=images/20210707/1625631848410426.jpg)
上一篇:2021最全的Java架构面试指南:java格式化时间到毫秒


下一篇:他是横着走出来的!三面美团Java岗,HR直接当场发offer