20+互联网公司(阿里头条美团滴滴等)面经(Java方向)

IMG_6567(20200214-204710).PNG

这是我当时约面试的时间表,其实面试多了你会发现一个规律,如果一个公司你一面过的很顺利,后面不管三面四面还是五面,都会比较顺利。因为大家的提问方式,角度都很类似,很多时候都是在跟不同的面试官说同样的话。

多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可能还会问几个实际的场景类的问题,这个环节阿里是必问的,这种问题通常是没有正确答案的,就看个人的理解,个人的积累了。剩下的就没啥了,都是换汤不换药,聊项目就看你自己对你自己的项目是否理解的透彻,比如经常问你你为什么选择这个技术,为什么这么处理之类的,常考的基础的知识点就那么多,最后算法就是靠刷题。

这篇我主要把常考的问题po一下,频率出现过高的我都用(必考)标注了,答案我也整理了,但是整理的不够好,怕误导大家,我放到github上大家的自行查看(不保证正确性),也是我做LeetCode的仓库。

GitHub链接:https://github.com/yuanguangxin/LeetCode/blob/master/Rocket.md

ZooKeeper

  1. CAP定理
  2. ZAB协议
  3. leader选举算法和流程

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和双亲委派模型关系

Java基础

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

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题目类型的分类,每种题做一两道基本就能完全应付面试了。

#面经##校招##阿里巴巴##滴滴##字节跳动##Java工程师#
全部评论
tql,这面试表简直课表
3 回复 分享
发布于 2020-02-19 21:07
整理了下被问到的算法题,但是其实没啥代表性,大概率碰不上原题。还是发一下吧,只是一部分剩下的实在记不清了。 1. 杨辉三角求数字位置,LeetCode118,119题相关。(滴滴) 2. 循环有序数组的查找,LeetCode33题。(滴滴) 3. 求二叉树的最近公共祖先,LeetCode236题。(滴滴) 4. 求阶乘后的0,LeetCode172题。(蚂蚁金服笔试) 5. 实现一个增删查功能的LinkedList,LeetCode707题。(Boss直聘笔试) 6. 矩阵置0,LeetCode73题。(跟谁学笔试) 7. 二叉树的层序遍历,LeetCode102题。(搜狐) 8. 中文转数字/数字转中文。(头条) 9. 链表的两数相加,LeetCode2题类型题。(头条) 10. 反转链表,LeetCode206题。(头条,搜狐) 11. 合并两个有序链表,LeetCode21题。(猿辅导) 12. 括号匹配,LeetCode20题。(拼多多) 13. 队列实现栈,栈实现队列,LeetCode225,232题。(拼多多) 14. 判断字符串(IP地址)是否在集合内。(微软) 15. 中缀表达式的计算,LeetCode224题。(微软) 16. 划分字母区间,LeetCode763题。(亚马逊)
1 回复 分享
发布于 2020-02-25 21:55
感谢分享! 欢迎参加社招面经征集活动~社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡~:https://www.nowcoder.com/discuss/374207 #社招面经#
1 回复 分享
发布于 2020-03-07 11:23
感谢分享,楼主厉害
1 回复 分享
发布于 2020-03-08 14:58
顶!
点赞 回复 分享
发布于 2020-02-19 19:21
Tql!!!
点赞 回复 分享
发布于 2020-02-19 21:08
向大佬学习
点赞 回复 分享
发布于 2020-02-20 02:01
谢谢大佬!
点赞 回复 分享
发布于 2020-02-20 08:42
点赞 回复 分享
发布于 2020-02-20 16:16
点赞 回复 分享
发布于 2020-03-06 12:05
请问简历都是什么渠道投递的
点赞 回复 分享
发布于 2020-03-09 18:27
LZ,您的简历方便参考下么??  我这边简历不知道怎么突出重点。
点赞 回复 分享
发布于 2020-08-03 12:46

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
49 450 评论
分享
牛客网
牛客企业服务