Skip to content

doinb08/bat_offer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2019-2020年互联网公司高频重点面试题


互联网公司Java高频面试指南


Branch Stars Forks License Awesome


Created by doinb


高级Java程序员的核心竞争力

  1. Java基础扎实、掌握JVM原理、多线程、网络原理、设计模式、常用数据结构和算法。
  2. 深入理解Spring,Spring MVC Mybatis等开源框架设计原理及底层架构,研究过部分核心功能源码。
  3. 深入理解Redis线程模型,熟练掌握Redis的核心数据结构的使用场景,熟悉各种缓存高并发的使用场景,比如缓存雪崩,缓存穿透,缓存失效,热点缓存重建等。
  4. 熟悉常见消息中间件的使用,解决过各种消息通信常见的疑难问题,比如消息丢失、消息重复消费、消息顺序性、大规模消息积压问题。
  5. 对于高性能IO通信模型以及相关开源组件Netty等源码有过深度研究,熟悉Netty线程模型。
  6. 深入理解JVM底层原理,熟悉JVM垃圾收集器的使用以及核心参数的调优,有过一定的JVM线上调优经验,对JVM调优有自己独到的见解。
  7. 深入理解Spring Boot, Spring Cloud, Alibaba Seata等微服务的设计原理及底层架构,研究过核心源码,熟悉微服务架构场景设计,比如服务发现与注册,服务限流、降级、熔断,服务网关路由设计,服务安全认证架构OAuth2协议,OpenFeign通信。
  8. 在项目中解决过各种分布式场景的技术难题,比如分布式锁,分布式事务,分布式ID,分布式任务,数据的分库分表Sharding-JDBC。
  9. 深入理解线程池的核心源码以及线程池核心参数配置。

10.具备应用程序从构建、部署、测试和发布过程的自动化DevOps能力,如:Docker、K8s、Jenkins等技术栈。

本工程演示需要用到spring,故建立一个简易版的springboot工程,启动本工程必备环境:

  1. jdk1.8_xx
  2. maven 3.6.x
  3. lombok插件
  4. 启动DoApplication可访问简易版springboot工程, 使用AOP则启动DoAopApplication。

java工具类库-提升编码效率

https://github.com/looly/hutool
https://apidoc.gitee.com/loolly/hutool/
前后端框架脚手架

分库分表面试题

http://www.imooc.com/article/301836
https://juejin.im/post/5e48a9af6fb9a07cc200c203

Spring Boot、Spring MVC 和 Spring 有什么区别?

  • Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。 当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。
  • Spring MVC 提供了一种分离式的方法来开发 Web 应用。 通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。
  • Spring 和 SpringMVC 的问题在于需要配置大量的参数。
  • Spring Boot 通过一个自动配置和启动的项来目解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特征。

分布式事务解决方案

SpringCloudAlibabaSeata官网

网络原理

面试 HTTP ,99% 的面试官都爱问这些问题

Netty网络应用框架

Netty官网
视频学习Netty

面试专场

面试技巧-进大厂也就这回事
面试技巧-如何把面试官的提问引导到自己准备好的范围内
Redis面试题(2020最新版)
Spring Boot面试题(2020最新版)
Tomcat面试题(2020最新版)
Java虚拟机(JVM)面试题(2020最新版)
Spring Cloud面试题(2020最新版)
MySQL数据库面试题(2020最新版)
消息中间件MQ与RabbitMQ面试题(2020最新版)
Java并发编程面试题(2020最新版)
Netty面试题(2020最新版)
Zookeeper超详细的面试题
Java经典面试题整理及答案详解(一)
面试官问:为什么需要消息队列?使用消息队列有什么好处?
Spring MVC 面经
Spring经典面试题总结
史上最全多线程面试题 !
Docker入门视频教程
Docker详细讲解
CORS跨域讲解
MySQL索引面试题
数据库分库分表shardingJDBC-数据迁移难题
如果你是一个 Java 面试官,你会问哪些问题?
高级JAVA面试必杀技

优秀开源项目推荐

Spring Cloud 系列项目学习案例
JAVA全套技术学习-芋道源码

MyBatis极速入门

MyBatis官方使用文档
MyBatis源码-GitHub地址

SpringCloud学习视频推荐

2020尚硅谷《谷粒商城》-技术栈非常全面-网盘提取码:2zdr
微服务视频教程-尚硅谷2020最新版 SpringCloud 框架开发教程全套完整版从入门到精通
Spring源码专题视频学习资料
juc专题视频学习资料

About

2019-2020年互联网公司高频重点面试题

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages