知乎袁广鑫面经


在这里插入图片描述
这是我当时约面试的时间表,其实面试多了你会发现一个规律,如果一个公司你一面过的很顺利,后面不管三面四面还是五面,都会比较顺利。因为大家的提问方式,角度都很类似,很多时候都是在跟不同的面试官说同样的话。多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可能还会问几个实际的场景类的问题,这个环节阿里是必问的,这种问题通常是没有正确答案的,就看个人的理解,个人的积累了。剩下的就没啥了,都是换汤不换药,聊项目就看你自己对你自己的项目是否理解的透彻,比如经常问你你为什么选择这个技术,为什么这么处理之类的,常考的基础的知识点就那么多,最后算法就是靠刷题。这篇我主要把常考的问题po一下,频率出现过高的我都用(必考)标注了,答案我也整理了,但是整理的不够好,怕误导大家,我放到github上大家的自行查看(不保证正确性),这也是我做LeetCode的仓库,也包括一些LeetCode高频题的分类整理。

GitHub链接:

面试题总结

Leetcode高频题

ZooKeeper

  1. CAP定理
  2. ZAB协议
  3. Leader选举算法和流程Redis1. Redis的应用场景2. Redis支持的数据类型(必考)3. zset跳表的数据结构(必考)

Redis

1.Redis的应用场景
2.Redis支持的数据类型(必考)
3. zset跳表的数据结构(必考)
4. Redis的数据过期策略(必考)
5. Redis的LRU过期策略的具体实现
6. 如何解决Redis缓存雪崩,缓存穿透问题
7. Redis的持久化机制(必考)
8. Redis的管道pipeline

Mysql

1 事务的基本要素
2. 事务隔离级别(必考)
3. 如何解决事务的并发问题(脏读,幻读)(必考)
4. MVCC多版本并发控制(必考)
5. binlog,redolog,undolog都是什么,起什么作用
6. InnoDB的行锁/表锁
7. myisam和innodb的区别,什么时候选择myisam
8. 为什么选择B+树作为索引结构(必考)
9. 索引B+树的叶子节点都可以存哪些东西(必考)
10. 查询在什么时候不走(预期中的)索引(必考)
11. sql如何优化
12. explain是如何解析sql的
13. order by原理

JVM

1.运行时数据区域(内存模型)(必考)
2. 垃圾回收机制(必考)
3. 垃圾回收算法(必考)
4. Minor GC和Full GC触发条件
5. GC中Stop the world(STW)
6. 各垃圾回收器的特点及区别
7. 双亲委派模型
8. JDBC和双亲委派模型关系
9. JVM锁优化和锁膨胀过程

作者:袁广鑫
链接:https://zhuanlan.zhihu.com/p/106997736
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Java基础

1 HashMap和ConcurrentHashMap区别(必考)
2. ConcurrentHashMap的数据结构(必考)
3. 高并发HashMap的环是如何产生的
4. volatile作用(必考)
5. Atomic类如何保证原子性(CAS操作)(必考)
6. synchronized和Lock的区别(必考)
7. ThreadLocal的原理和实现
8. 为什么要使用线程池(必考)
9. 核心线程池ThreadPoolExecutor的参数(必考)
10. ThreadPoolExecutor的工作流程(必考)
11. 如何控制线程池线程的优先级
12. 线程之间如何通信
13. Boolean占几个字节
14. jdk1.8/jdk1.7都分别新增了哪些特性
15. Exception和Error16. Object类内的方法

Spring

1.Spring的IOC/AOP的实现(必考)
2. 动态代理的实现方式(必考)
3. Spring如何解决循环依赖(三级缓存)(必考)
4. Spring的后置处理器
5. Spring的@Transactional如何实现的(必考)
6. Spring的事务传播级别
7. BeanFactory和ApplicationContext的联系和区别

其他

1 高并发系统的限流如何实现
2. 高并发秒杀系统的设计
3. 负载均衡如何设计

补充

另外还会考一些计算机网络,操作系统啊之类的。像消息队列,RPC框架这种考的比较少。计算机网络就是分层啊,tcp/udp啊,三次握手之类的。操作系统就是进程与线程啊,进程的数据结构以及如何通信之类的。数据结构的排序算法也比较常考,考的话一定会让你手写个快排。剩下的算法题就靠LeetCode的积累了。其实非算法岗考的算法题都蛮简单的,很多题完全就是考察你智力是否正常,稍微难点的涉及到一些算法思想的按照LeetCode题目类型的分类,每种题做一两道基本就能完全应付面试了。

面试感受及评价

除了外企,体验最好的就是阿里。绝对的脱颖而出,无论是面试官的专业程度还是面试官对参与面试人员的态度都完全突出于其他公司。非常尊重人,以及会引导我去作出正确的回答,唯一就是阿里的HR是非常强势的,永远有一票否决权。另外说明一下,年前的阿里是可以同时面多个部门的,用他们的话说:没事,我们偷偷的面。年后就不行了。而有些公司面试官会故意误导你,想方设法让你说出错误的答案,并且有些态度极其傲慢,让人感觉很不尊重人。这里点名批评面试体验最差的两家公司:美团和Boss直聘。外企的话,体验都很好。微软是英文面的,亚马逊不是。这俩都是以算法为主,微软除了算法还聊了操作系统和计算机网络,亚马逊聊了较长时间的项目细节。
另外除了技术,你所接触的业务也是面试中对方比较在乎的点,换句话说你的业务也限制了你的发展。比如一个高德地图的开发去面百度地图肯定是比较好过的。像我这种做toB业务的去面toC业务的岗,除非技术很拔高,不然很难过。

最后最后说下自己的情况,17年在京东实习,19年7月离职。正式工作时间很短,就一年(算实习两年),而且19年有半年的时间准备考研所以有半年的空档期,这也是为什么我被很多HR挂了的原因。虽然Offer没拿几个,但是一半多都面到HR面了,所以对于两三年经验的感觉整理的问题还是比较有代表性的

链接:https://zhuanlan.zhihu.com/p/106997736
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/qq_38847154/article/details/108965777