各大互联网公司面经分享:Java全栈知识+1500道大厂面试真题

这篇文章给大家分享一下我遇到的一些质量较高的面试经历,具体经过就不多说了,就把面试题打出来供各位读者老哥参考如有不全的地方,各位海涵。

猿辅导

  1. 八皇后问题


  2. 求二叉树的最长距离(任意两个节点的路径 中最长的)


  3. lru算法的实现


  4. 设计一个数据结构 满足 put 和 getMedium(中位数)两个方法. (时间复杂度分析, getMedium 在常数,n,log n 时间复杂度返回如何实现)


  5. rabbitmq 脑裂问题,rabbitmq 延迟队列实现, rabbitmq高可用策略(因为项目中用到了rabbitmq他们技术选型出现了重叠,问了这个问题)

  6. 死磕项目细节:其中包括: 设计方案时有没有比较多种方案,为什么选这个方案?你个人最有成就感,最有挑战性的 工作是哪一个?

去哪儿

  1. 为什么使用 MQ, MQ 如何选型, 消息可靠性如何保证, 如何保证幂等


  2. 用过 dubbo吗? 设计一个 rpc 框架


  3. 介绍一下 https


  4. 数据库线程池, http 连接池有没有深入看过源码?介绍一下.(项目里用得到了 http client)


  5. 给你十亿条数据,如何最快的添加到数据库中


  6. 分布式锁的技术选型, 实现原理, 优劣势比较, zookeeper 的一致性协议原理


  7. java 线程同步的几种方式, countdownlatch 和 栅栏的区别


  8. synchronized和 aqs 如何实现可重入锁陌陌

  1. 分布式锁的实现方案比较,为什么选择 zookeeper, zookeeper 一致性协议原理


  2. 一致性 Hash 原理,实现,项目中是如何使用一致性 Hash 的,引入了多少虚拟节点?


  3. java synchronized和 AQS的原理,区别


  4. redis 有序列表


  5. redis 高可用架构是什么? codis 和 redis cluster 分片的区别


  6. 两个线程如何交替打印 0到99

头条(Go)


  1. top-k


  2. 实现前缀树


  3. 实现python装饰器.方法实现,和类实现, 带参数和不带参数.以及对装饰器的思考


  4. 如何实现对 多机房,多机架 之前的网络健康情况监控


  5. 如何理解进程上下文切换, 进程地址空间,为什么需要进程地址空间, 系统调用实现原理, top 命令介绍.


阿里


  1. mq 消息可靠性,幂等如何保证


  2. 分布式锁的实现方案比较,为什么选择 zookeeper, zookeeper 一致性协议原理


  3. 线程池参数,阻塞队列实现.


  4. 一致性 Hash解决什么问题, 如何实现? 虚拟节点的作用?


  5. Java 锁的实现方式, 比较? AQS实现原理?公平非公平实现原理?


  6. CAS 实现原理


  7. volatile 实现原理, 单例模式


  8. java 内存模型, gc 调优的经历. cms gc 的几个阶段, 为什么会出现 stop the world. 常见可优化参数有哪些.


  9. 为什么需要优化 gc, gc 会导致什么问题


  10. mysql 事务隔离级别. mvcc 实现原理


  11. mysql 索引原理. 为什么使用 B+树. 及何时无法使用索引?


  12. mysql 架构, 引擎层和 server层 各自负责什么.


  13. hashmap 及 concurrenthashmap 实现原理


  14. Spring aop原理,如何定义新的spring xml 标签


  15. 合并两个有序链表


  16. 如何设计一个 大型活动的安保系统(开放题)


  17. 你平常都在哪些论坛上学习?


  18. 如何学习一门未知的技术?思考:阿里面试官 虽然不面算法,但是面试考察点全方位打击,从浅入深,揪住不放,直到你不会为止.是收获最多的面试,也是感受到自己差距的面试.


快手


  1. 线程池实现原理,如何调优


  2. 如何实现一个延迟队列


  3. mysql 索引


  4. mysql 事务隔离级别


  5. java 锁和常见线程同步方式


  6. zookeeper 分布式实现方式及优劣,如何避免 多个客户端同时获取到锁?


  7. 求二叉树两个节点的共同节点


  8. 求二叉树的深度(非递归)


  9. java 集合常见类及原理


  10. tcc 原理


  11. netty 的请求处理流程.线程模型


美团


1. HashMap 的实现原理?扩容原理? 为什么 jdk 8修改了冲突链表的插入位置


2. mysql 的高可用架构.主从同步过程.


3. http 和rpc 调用的区别


4. redis 如何用单线程支撑高并发, redis 的常见使用场景


5. mq 如何选型为什么用mq


6. 一致性Hash 原理


7. 美团外卖的支付 ,要求在 15 分钟内取消未支付的订单. 如何实现


8. 打印 * 星号的等腰三角形


9. 项目的全链路架构, 有没有单点问题,解决单点问题有哪些常见的方案


10. 项目中有哪些可以衡量工作产出的指标.


11. 说一下你负责的 最复杂,参与人数最多,周期最长的项目是如何推进的


12. 你认为自己的优势,劣势在哪里


13. 你对未来的职业规划,你期望的工作内容,方向是什么?


腾讯(Java)
1.如何在物理机和容器中获取 cpu 核数,如何设置线程数, 如何主动触发GC


2.一致性 Hash, Hash 的作用, 为什么叫一致性 Hash,一致性体现在哪里. HashMap中还可以使用什么方式处理 Hash冲突


3.线程池参数,优化,原理


4.实现一个功能:cat /usr/local/*.log|grep tencent


5. 如何理解 Future模式?java 的实现原理


6. Java 阻塞队列实现原理


7. java 锁 volatile 实现原理


8. mysql 索引原理,事务隔离级别, mysql 死锁的场景会有哪些, 内部如何检测死锁的?


9. java 线程同步共有哪几种工具?


10. 你认为 java 设计得比较优秀的地方有哪些?


11. 如何理解面向对象设计,能用你看过的开源代码或者实际项目介绍一下吗?


12. java 类加载器的原理及实际使用场景


13. java 内存模型, 虚拟机栈默认大小


14. 说一下高可用架构的常见解决思路

对于面试,刷面试题固然重要,但是我觉得理解核心的知识点更重要,下面这份大牛整理出来的Java全栈知识点可以说囊括了当前最热门的一些技术,可供大家参考,需要的老哥帮忙点赞转发加小编助手

JVM

  • 线程

  • JVM内存区域

  • JVM运行时内存

  • 垃圾回收与算法

  • JAVA四中引|用类型

  • GC分代收集算法VS分区收集算法

  • GC垃圾收集器

  • JAVA IO/NIO

  • JVM类加载机制

Java集合

  • 接口继承关系和实现

  • List

  • Set

  • Map

  • JAVA多线程并发

  • JAVA并发知识库

  • JAVA线程实现/创建方式

  • 4种线程池

  • 线程生命周期(状态)

  • 终止线程4种方式

  • sleep与wait区别

  • start与run区别

  • JAVA后台线程

  • JAVA锁

  • 线程基本方法

  • 线程上下文切换

  • 同步锁与死锁

  • 线程池原理

  • JAVA阻塞队列原理

  • Clicarrier. CountDownLatch. Semaphore的用法

  • volatile关键字的作用(变量可见性、禁止重排序)

  • 如何在两个线程之间共享数据

  • ThreadLocal作用(线程本地存储)

  • synchronized和ReentrantL ock的区别

  • ConcurrentHashMap并发

  • Java中用到的线程调度

  • 进程调度算法

  • 什么是CAS (比较并交换乐观锁机制锁自旋)

  • 什么是AQS (抽象的队列同步器)

Spring 原理

  • Spring特点

  • Spring核心组件

  • Spring常用模块

  • Spring主要包

  • Spring常用注解

  • Spring第三方结合

  • Spring 10C原理

  • Spring APO原理

  • Spring MVC原理

  • Spring Boot原理

  • JPA原理

  • Mybatis缓存

  • Tomcat架构

微服务

  • 服务注册发现

  • API网关

  • 配置中心

  • 事件调度(kafka)

  • 服务跟踪(starter-sleuth)

  • 服务熔断(Hystrix)

  • API管理

Netty与RPC

  • Netty原理

  • Netty高性能

  • Netty RPC实现

  • RMI实现方式

  • Protoclol Buffer

  • Thrift

网络

  • 网络7层架构

  • TCP/IP原理

  • TCP三次握手/四次挥手

  • HTTP原理

  • CDN原理

RabbitMQ

  • 概念

  • RabbitMQ架构

  • Exchange 类型

设计模式

  • 设计原则

  • 工厂方法模式

  • 抽象工厂模式

  • 单例模式

  • 建造者模式

  • 原型模式

  • 适配器模式

  • 装饰器模式

  • 代理模式

  • 外观模式

  • 桥接模式

  • 组合模式

  • 享元模式

  • 策略模式

  • 模板方法模式

  • 观察者模式

  • 迭代子模式

  • 责任链模式

  • 命令模式

  • 备忘录模式

  • 状态模式

  • 访问者模式

  • 中介者模式

  • 解释器模式

负载均衡

  • 四层负载均衡vs七层负载均衡

  • 负载均衡算法/策略

  • LVS

  • Keepalive

  • Nginx反向代理负载均衡

  • HAProxy

数据库

  • 存储引擎

  • 索引

  • 数据库三范式

  • 数据库是事务

  • 存储过程(特定功能的SQL语句集)

  • 触发器(一段能自动执行的程序)

  • 数据库并发策略

  • 数据库锁

  • 基于Redis分布式锁

  • 分区分表

  • 两阶段提交协议

  • 三阶段提交协议

  • 柔性事务

  • CAP

分布式缓存

  • 缓存雪崩

  • 缓存穿透

  • 缓存预热

  • 缓存更新

  • 缓存降级

一致性算法

  • Paxos

  • Zab

  • Raft

  • NWR

  • Gossip

  • 一致性Hash

JAVA算法

  • 二分查找

  • 冒泡排序算法

  • 插入排序算法

  • 快速排序算法

  • 希尔排序算法

  • 归并排序算法

  • 桶排序算法

  • 基数排序算法

  • 剪枝算法

  • 回溯算法

  • 最短路径算法

  • 最大子数组算法

  • 最长公共子序算法

  • 最小生成树算法

1500道面试题(篇幅限制不全部展示出来了)

有需要这份各大互联网公司面试真题的小伙伴可以看这里转发此文关注小编,扫码下方来获取;

全部评论

相关推荐

07-15 16:52
已编辑
门头沟学院 Java
周五投的,流程今天结束
投递地平线等公司7个岗位
点赞 评论 收藏
分享
牛客73617529...:无端端被你骂一句
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务