2020Java后台面经,大合集,光看看就香得不行 QAQ
其实对于我自己而言,自认为没有大牛们广泛的技术栈能力,强大的算法功底,这篇文章只是记录秋招过程中面试遇到技术问题,给在准备秋招的人一些经验;
目前状况
没参加面试的没写
-
美团:转正意向书拿到,等待谈薪资
-
华为:offer
-
百度:offer
-
网易:等结果
-
酷家乐:面试过,hc限制被拒
-
京东:待面试
-
中兴:offer
-
滴滴:笔试挂
-
腾讯:笔试挂
-
小米:一面挂
-
头条:二战
-
新浪:等待笔试结果
-
去哪:笔试挂
-
4399:二面完
-
乐贝:offer
面试总结(技术方向)
简历相关以及技术方面的思考向的问题没有记录,因为我觉得这种东西在个人,怎么准备也不是自己的,还是多看看书,多想想各种技术实现的最有用,其他的像聊人生这种东西只要回答的谦虚一点,表达出自己想去面试公司的意向基本就没太大问题
美团(春招+转正)
实习的感受就是美团的技术氛围很好,对于程序员上班时间也比较自由,比较舒服,转正名额也比较多,所以转正也比较轻松
-
TCP握手,挥手的状态流转
-
MySQL语句编写
-
int数据范围
-
http协议简介
-
cpu实现多进程的方式
-
各种排序的时间复杂度
-
HashMap底层代码,非线程安全原因
-
垃圾回收算法
百度(内推+秋招)
内推的部门答得还可以,但是貌似方向不太一致,所以就渐渐地没消息了,刚面的秋招一面,问了很多计算机很底层方面的想法,确实有难度,不过让我又重新开始思考计算机的整体设计,收获很多
-
MySQL的事务特性,隔离级别,锁相关
-
数据库的短连接与长连接
-
操作系统的目的
-
java如何实现跨平台,引申一直到机器语言的实现,包括操作系统,计算机组成,汇编
-
TCP三次握手,四次挥手,引申握手时服务器收到大量syn的后果及解决方案
-
手写代码,动态规划相关
-
java线程池相关
-
进程与线程的区别
-
java的锁
-
垃圾回收算法
-
ConcurrentHashMap底层实现
酷家乐
两次面试官人都很好,聊的很愉快,感觉面试官对于自己的公司挺有信心的,感觉公司文化会不错,不过尴尬的是二面面试官看了记录发现我被人数限制刷了….比较无奈
-
MyBatis了解的情况
-
设计模式简单介绍
-
MySQL设计表结构的思路(索引设定,字段类型设定)
-
逻辑推理题
华为
一面撸简历,所以没有几个技术基础问题,基本就是项目和想法,最后面试官问了下想不想做安卓操作系统;二面也是谈想法,最后推荐了下云计算,第二天cloudbu也打了电话,考虑中….
- java锁以及线程池的目的
中兴
难度不高,技术面两个面试官,综面聊人生,规划,最后问英语….(英语很渣),貌似中兴综面都要说几句英语
-
进程与线程的区别
-
java常用的数据结构,链表的适用场景
-
设计模式介绍
-
计算机网络模型及TCP介绍
-
无线通信协议的了解
小米
电话打过来聊了聊实习,然后问个设计模式就开始写代码……过几天来西安,不知道有没有二面…
-
设计模式
-
代码题:归并非递归自底向上,二叉树前序,中序反序列化,二分查找
网易
一天面完两轮技术面和一轮hr,总体来讲题目挺广泛的,基础,项目,设计都有
-
java享元模式
-
动态代理和静态代理的区别
-
java字符流和字节流区别
-
反射机制获取私有属性并修改
-
MySQL的不同引擎
-
讲讲设计模式
-
sychronized和Lock接口区别
-
电商的商品和活动,设计数据库表结构
-
sychronized修饰普通方法和静态方法,有什么区别
-
TCP四次挥手为什么会存在TIME_WAIT状态
-
TCP/IP状态码:404,301,302
4399
-
两面难度不高(面试官不会java),但是有些问题还是值得学习
-
两面难度不高(面试官不会java),但是有些问题还是值得学习
-
浏览器关闭之后会话是否存在(session,cookie)
-
mysql查询,怎么看索引是否生效,失效了怎么解决
读书
书是人类进步的阶梯,所以想技术扎实,必须要读书或者看各种技术的官方文档,官方文档更准确,但是不耐读,好书生动有趣,而且更通顺,接下来推荐一些:
-
java核心技术卷:我的入门书,通俗易懂
-
深入理解java虚拟机:JVM国人写的自认为最好的教材,无论是面试还是工作都很有用
-
MySQL技术内幕 InnoDB引擎:mysql底层技术写的比较好的
-
Head First 设计模式, 设计模式之禅 : 两本书都不错,比较容易阅读
-
TCP/IP详解(卷一):如果不是专门做这方面的话看卷一就够
-
Spring技术内幕:写的比较底层,但是挺清晰的,在读
-
RabbitMQ 实战:实习导师推荐,在读
-
代码整洁之道:同样导师推荐,实习之后才发现自己以前写的代码有多不规范,理解这本书对自己的代码设计能力很有帮助
了解各种技术的实现
-
阅读源代码:像java的很多底层的东西还是看源码最准确,也极力推荐读源码,思考大牛们实现的思路及方法
-
看博客:尽管博客上无法确定准确,但是至少提供了方案及想法,所以不能只读,还要自己多思考
编程及算法能力
我的算法没有多强,所以只推荐一些刷题的方法
-
剑指offer与左程云老师编写的程序员代码面试指南:题目很全面,也基本覆盖了大部分的校招面试题,多看不仅会提升代码能力,更是给自己解决问题提供了多种思路,开阔眼界
-
学习技术的过程中多写一些测试代码,像设计模式这种的尝试去实现一下,但是在写业务时不要把各种设计模式尝试往上面套,还是要多考虑清楚各种模式的适用场景及优缺点
学习Java我们必须打好Java基础,不要急于求成,基础概念掌握在学习实战项目开发。直接入手项目不太实际,有的人不学基础,一看代码觉得Java很难就放弃了。扎实掌握了基础,按阶段的学习,坚持下来能力就会不断提高。还有请千万不要把你的学习Java之路和其它计算机技术分开看待,技术的联系往往是千丝万缕的。
这些书籍都是非常不错的,
值得大家研读,
资料获取方式:
关注公众号:“程序员白楠楠”免费获取!