疫情之下,延期返工,我竟然“远程面试”了 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 的朋友提几点建议,也是我的个人心得:
疯狂编程
学习效果可视化
写博客
阅读优秀代码
心态调整
友情提醒:转发+关注,**点击这里,获得文档领取方式**
评论