GithubHelp home page GithubHelp logo

gongbyjian / bat_offer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cxd123456/interview_demo

1.0 1.0 0.0 22.08 MB

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

Java 99.87% Shell 0.08% Dockerfile 0.05%

bat_offer's Introduction

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源码专题视频学习资料视频地址:

https://www.bilibili.com/video/BV1yE41187A3

JUC专题视频学习资料视频地址:

https://www.bilibili.com/video/av68723403

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

  1. jdk1.8_xx
  2. maven 3.6.x
  3. lombok插件
  4. 启动DoApplication可访问简易版springboot工程, 使用AOP则启动DoAopApplication。
  5. Demo在线演示地址(仅用于展示swagger文档)
  6. 基于开源代码搭建个人微服务网站-此版本我定制化改造后台逻辑 账号/密码:doinbb/doinb@Test
  7. 微服务架构开源地址

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

面试专场

面试技巧1
面试技巧2
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入门视频教程
裂墙推荐!微服务视频教程-尚硅谷2020最新版SpringCloud框架开发教程全套完整版从入门到精通

bat_offer's People

Contributors

doinb08 avatar

Stargazers

gongjian avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.