专栏首页java工会2020最新大厂面试汇总,涨薪10K就靠它!

2020最新大厂面试汇总,涨薪10K就靠它!

转眼间,各大城市各行各业都开始逐步复工了,就连今天出门都能看到上海街头堵车了!

其实各类大厂早已工作了一个月有余,招聘需求也是在各大平台狂撒,让我们来看看2020年最新的Java面试问题吧,问到就是赚到,走过路过永远不亏。

No.1

Java基础

1.Java线程的状态

2.进程和线程的区别,进程间如何通讯,线程间如何通讯

3.HashMap的数据结构是什么?如何实现的,和HashTable,ConcurrentHashMap的区别

4.Cookie和Session的区别

5.索引有什么用?如何建索引?

6.ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。

7.equals方法实现

8.线程状态,BLOCKED和WAITING有什么区别

9.内部类,匿名类

10.什么是死锁

11.写一个死锁

12.事务四大特性(ACID)原子性、一致性、隔离性、持久性?

13.MySQL 都有什么锁,死锁判定原理和具体场景,死锁怎么解决

14.sql 查询语句确定创建哪种类型的索引,如何优化查询

15.隔离级别

16.线程池中的线程是怎么创建的

17.实现一个分页查询

18.什么是反射,具体的应用?

19.String为什么是不可变的

20.String、StringBuffer和StringBuilder的区别

21.int和Integer差别和联系

22.常见排序

参考推文:

深入理解Arrays.sort,怼哭面试官

听说全部看懂Arrays.sort的都被面试官录取了

深入理解Java的接口和抽象类

一篇文章了解并发数据结构

抛砖引玉NIO

深入理解final

String三姐妹你所不知道的坑!

No.2

框架

1.看过哪些开源框架的源码

2.Redis有哪些优缺点?Redis如何实现扩容?

3.Netty是如何使用线程池的,为什么这么使用

4.为什么要使用Spring,Spring的优缺点有哪些

5.Spring的IOC容器初始化流程

6.Spring的IOC容器实现原理,为什么可以通过byName和ByType找到Bean

7.Spring AOP实现原理

8.Spring boot过滤器

9.Spring boot拦截器

10.SpringMVC处理流程

11.Spring Bean 注入是如何解决循环依赖问题的

12.Spring boot常用注解

参考推文:

面试必备SpringMVC工作原理,涨薪5K就靠它!

No.3

技术深度

1.介绍一下看过的JDK源码

2.HTTP协议

3.TCP,UDP协议

4.一致性Hash算法

5.JVM如何加载字节码文件

6.类加载器如何卸载字节码

7.IO和NIO的区别,NIO优点

8.Java线程池的实现原理,keepAliveTime等参数的作用。

9.HTTP连接池实现原理

10.数据库连接池实现原理

11.数据库的实现原理

12.什么时候类加载,介绍一下类加载流程,知道哪些类加载器,都是什么关系,双亲委派机制是什么

13.垃圾回收算法

14.JVM内存模型

15.为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有

请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同

16.JDK7,JDK8的新特性

参考推文:

JVM面试重点:虚拟机类加载机制

JVM面试必问:垃圾收集器与内存分配策略

Java内存区域与溢出异常

了解这个TCP,你也能涨薪3K!

No.4

系统架构

1.如何搭建一个高可用系统

2.哪些设计模式可以增加系统的可扩展性

3.介绍设计模式,如模板模式,命令模式,策略模式,适配器模式、桥接模式、装饰模式,观察者模式,状态模式,访问者模式。

4.什么是高内聚低耦合,请举例子如何实现

No.5

分布式

1.分布式事务,两阶段提交。

2.如何实现分布式锁

3.如何实现分布式Session

4.如何保证消息的一致性

5.负载均衡

6.CDN实现原理

7.怎么提升系统的QPS和吞吐量

8.什么是网关

9.分布式ID生成策略

10.RPC框架

11.分布式锁

12.Zookeeper是如何保证事务的顺序一致性的

13.消息队列中,消息失败了如何重新提交

No.6

其他

1.有没有处理过线上问题?出现内存泄露,CPU利用率标高,应用无响应时如何处理的。

2.开发中有没有遇到什么技术问题?如何解决的

3.如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能。

4.新浪微博是如何实现把微博推给订阅者

5.Google是如何在一秒内把搜索结果返回给用户的。

6.票务网站的订票系统如何实现,如何保证不会票不被超卖。

7.如何实现一个秒杀系统,保证只有几位用户能买到某件商品。

8.如何实现单点登录

本文分享自微信公众号 - java工会(javagonghui),作者:小明同学

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈Tomcat服务器优化方法

    对于JavaWeb开发人员而言,Tomcat已成为默认的web服务器,但是在生产环境下使用Tomcat部署应用,我们如果采用Tomcat默认的配置,尤其是内存和...

    三哥
  • Spring工作原理

    内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、...

    三哥
  • Spring工作原理

    内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、...

    三哥
  • 关于go语言的测试相关内容笔记

    其实之前对于测试自己一直比较弱,不管是python的还是go的,关于测试这块并没有非常注重,这次就好好整理一下关于go的测试

    coders
  • 3天两版 Spring Boot 2.2.4 发布!紧急修复Spring Cloud Hoxton.SR1 兼容问题

    Spring Boot 2.2.4 发布了,可以从 repo.spring.io 和 Maven Central 获取。

    冷冷
  • 【本周主题】第一期:JavaScript单线程与异步

    单线程是指,js在执行的时候,都只有一个线程来处理所有任务。这个线程就是js的主线程。

    xing.org1^
  • 语言设计中的鸭子类型风格

    image.png #思特沃克好声音# (图片:网络) 在动态语言的世界里一直流传着一种叫做鸭子类型的风格,其来自谚语:“如果行鸭子一样走路,像鸭子一样呱呱叫...

    ThoughtWorks
  • Python | 面试必问,线程与进程的区别,Python中如何创建多线程?

    其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一些规约的用法等等。只不过这些用法比较小众,使用频率非常低,所以我们不过多阐述了,可以在用到的时...

    TechFlow-承志
  • Java并发编程--ThreadPoolExecutor

      合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等...

    在周末
  • 【JVM系统学习之路】运行时数据区概述和程序计数器

    本篇将 运行时数据区概述及线程 和 程序计数器 的知识点由于不是很多所以就一起梳理,也是为后续学习的知识点做一个铺垫。

    山间木匠

扫码关注云+社区

领取腾讯云代金券