github上的面试题

https://github.com/crossoverJie/Java-Interview

 

 

常用集合

  • ArrayList/Vector
  • LinkedList
  • HashMap
  • HashSet
  • LinkedHashMap

Java 多线程

  • 多线程中的常见问题
  • synchronized 关键字原理
  • 多线程的三大核心
  • 对锁的一些认知
  • ReentrantLock 实现原理
  • ConcurrentHashMap 的实现原理
  • 如何优雅的使用和理解线程池
  • 深入理解线程通信
  • 交替打印奇偶数

JVM

  • Java 运行时内存划分
  • 类加载机制
  • OOM 分析
  • 垃圾回收
  • 对象的创建与内存分配
  • 你应该知道的 volatile 关键字
  • 一次内存溢出排查优化实战

分布式相关

  • 分布式限流
  • 基于 Redis 的分布式锁
  • 分布式缓存设计
  • 分布式 ID 生成器

常用框架\第三方组件

  • Spring Bean 生命周期
  • Spring AOP 的实现原理
  • Guava 源码分析(Cache 原理)
  • 轻量级 HTTP 框架
  • SpringBoot 启动过程
  • Tomcat 类加载机制

架构设计

  • 秒杀系统设计
  • 秒杀架构实践
  • 设计一个百万级的消息推送系统

DB 相关

  • MySQL 索引原理
  • SQL 优化
  • 数据库水平垂直拆分

数据结构与算法

  • 红包算法
  • 二叉树层序遍历
  • 是否为快乐数字
  • 链表是否有环
  • 从一个数组中返回两个值相加等于目标值的下标
  • 一致性 Hash 算法
  • 限流算法
  • 三种方式反向打印单向链表
  • 合并两个排好序的链表
  • 两个栈实现队列
  • 动手实现一个 LRU cache
  • 链表排序
  • 数组右移 k 次

Netty 相关

  • SpringBoot 整合长连接心跳机制
  • 从线程模型的角度看 Netty 为什么是高性能的?

附加技能

  • TCP/IP 协议
  • 一个学渣的阿里之路
  • 如何成为一位「不那么差」的程序员
  • 如何高效的使用 Git

你可能感兴趣的:(github上的面试题)