疫情之下,延期返工,我竟然“远程面试”了3家公司(备战春招)
写在开头
2020年的开端,似乎并不那么幸运,新冠肺炎的出现,对我们的生活、工作和学习都造成了非常大的影响,很多公司延期返工了,原本的金三银四似乎也不会如往年那般热闹,但这并不意味着我们就什么都不去做,相反地,我们要做的更多,才能在疫情过后获得自己想要的。现在很多人都宅在家里,延期返工期间,“葛优躺”是非常不理智的,我提前站在了起跑线,面试了三家公司,结果还是算理想的,下面分享面经和我的个人心得,共勉!
注意:以下的字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习,有需要的小伙伴直接私信我关键词【成长】即可免费获取哦~~!!
互联网公司“线上面试”(字节跳动+阿里+美团)
字节跳动一面凉经(耗时43:57):
- 自我介绍
- 初步浅聊项目技术(根据简历来问的项目,然后多问了一些项目上的细节)
- 计算机网络
- 网络分层以及各层有那些协议
- 如果输入www.baidu.com如果没有成功该如何排查(输入一个url到页面显示其间过程是什么,有哪些技术点)
- http和https区别,ssl连接过程,对称加密与非对称加密
- 如何判断客户端与服务器端是真实存在,而非黑客恶意所为?
- tcp与udp的区别,以及应用场景
- session和cookie的区别
- 事务特性
- 隔离级别,使用哪种隔离级别,默认隔离级别
- 长连接
- 数据库索引结构
- hashmap与hashset的实现原理,源码
- mybatis与jpa的区别优缺点
- 给一个数组,每个数代表当天的股票价格,买入的时间必须在卖出之前,求所能得到的最大利润(我说了一个时间复杂度n方的算法,让后面的数减前面的数,都减一遍找最大值),面试官问更简便的方法,想了一会没想出来
阿里一面等通知(电面,37:36):
体验很好的一次面试,虽然有很多不能完整回答出来,但是面试官都会很耐心引导,并且会作相关的补充,不像是一场面试,更像是技术的交流。
- springboot或者spring的加载流程
- 对IOC和AOP的理解
- jdk和cglib实现的AOP实际上会在内存生成动态代理对象,还有什么其他办法实现AOP?经提示答出AspectJ以及实现原理
- Spring中的对象的作用域
- Singleton对象引用Prototype会发生什么
- 项目中怎样使用微服务?
- 两个服务之间调用的流程
- rpc与http的区别
- 设计rpc协议需要注意什么
- 项目中如何使用kafka
- 消息队列的使用场景
- kafka如何保证消息投递的可靠性
- 聊聊jvm,内存分布,垃圾回收
- 创建类的流程,类加载流程
- 了解我做过的项目的复杂度
美团刚过二面(已拿口头offer,等邮件中)
- 做一下自我介绍吧,简单说一下你的项目?
- 有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较好。
- Java的基本类型有哪几个?String是不是java的基本类型?String为什么要是final类型的?
- hashmap了解吗?说一下hashmap相关的一些东西?hashmap是线程安全的吗?为什么是线程安全的?concureenthashmap了解吗?他是如何实现线程安全的?你刚才说1.8基于cas?cas的ABA问题怎么解决?
- 说一下JVM的线程模型?这些区域都分别是干啥用的?
- 说一下java类加载器的工作机制?类加载在那个区域进行的?
- 说一下java的线程模型?violate了解吗?他的原理是什么?violate是线程安全的吗?为什么不是?
- 保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读
- 数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题?mysql慢语句调优做过吗?说说你是怎么做的?
- redis了解吗?你说说怎么用redis实现分布式锁?
- Spring中Bean的作用域,springMVC的controller是线程安全的吗?怎么去保证线程安全呢?
- 消息队列有用过吗?说说你怎么用的?
- 计算机网络了解吗?说一说TCP三次握手和四次挥手吧,感觉这个真的是计算机网络必考知识点啊,每次问到计算机网络都会问这个。time_wait状态产生的原因是什么?,有什么危害?可以如何避免?
- leetcode153. 寻找旋转排序数组中的最小值
假设按照升序排序的数组在预先未知的某个点上进行了旋转。
大厂面试题答案(字节跳动+阿里+美团):
面试前,我做了哪些准备工作?
(一)春节前投简历
临近春节时,很多大型公司都已经停止招聘了,实际上这个空档是最好投递简历的,所以趁在春节假期来临之前,我就往各大公司投递了我的个人简历,等到节后各大公司都开始陆续准备春招工作了,这个时候也就不需要再去为简历的事烦恼,抢在别人前头行头。
(二)刚好闭关修炼
由于现在疫情的缘故,导致大部分的企业延期复工,学校也推迟开学,大门不出二门不迈,我选择了在家里闭关修炼,从点到面,从面到点慢慢复习Java相关的知识。关于复习,我自己也整理了一套比较完整的笔记,可以友情分享给大家。
(1)知识笔记图(Xmind):Java并发体系+Java多线程并发编程+JVM和性能优化+Kafka+Spring+SpringBoot等
- 以SpringBoot为例:
(2)核心技术笔记(PDF):Redis+SpringBoot+SpringMVC+MySQL等
- 以Redis为例:
(三)刷题:Java核心面试知识点+2019年大厂面试真题+算法刷题
(1)Java核心知识点
这份Java核心知识点(包括:VM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算),对你的面试大有帮助,让你offer到手,高薪也有!
(2)2019年大厂面试真题整理
(3)算法刷题
大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,需要的可以私信我哦~
写在最后
最后,对所以做Java的朋友提几点建议,也是我的个人心得:
- 疯狂编程
- 学习效果可视化
- 写博客
- 阅读优秀代码
- 心态调整
友情提醒:转发+关注,私信我关键词【成长】即可免费打包带走所有资料!