2018“金三”之一线互联网公司Java高级面试题总结
JVM
1、请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗
2、线上发送频繁full gc如何处理? CPU 使用率过高怎么办?
如何定位问题?如何解决说一下解决思路和处理方法
3、知道字节码吗?字节码都有哪些?Integer x =5,int y =5,比较x =y 都经过哪些步骤?
4、讲讲类加载机制呗都有哪些类加载器,这些类加载器都加载哪些文件?
手写一下类加载Demo
5、知道osgi吗? 他是如何实现的???
6、请问你做过哪些JVM优化?使用什么方法达到什么效果???
7、classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什么区别啊??
性能优化
Spring
1、spring都有哪些机制啊AOP底层如何实现的啊IOC呢??
2、cgLib知道吗?他和jdk动态代理什么区别?手写一个jdk动态代理呗?
多线程
1、hashcode相等两个类一定相等吗?equals呢?相反呢?
2、介绍一下集合框架?
3、hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?
4、hashmap和treemap什么区别?低层数据结构是什么?
5、线程池用过吗都有什么参数?底层如何实现的?
6、sychnized和Lock什么区别?sychnize 什么情况情况是对象锁? 什么时候是全局锁为什么?
7、ThreadLocal 是什么底层如何实现?写一个例子呗?
8、volitile的工作原理?
9、cas知道吗如何实现的?
10、请用至少四种写法写一个单例模式?
数据库
1、使用mysq1索引都有哪些原则? ?索引什么数据结构? 3+tree 和B tree 什么区别?
2、mysq1有哪些存储引擎啊?都有啥区别? 要详细!
3、设计高并发系统数据库层面该怎么设计??数据库锁有哪些类型?如何实现呀?
4、数据库事务有哪些?
分库分表
1、如何设计可以动态扩容缩容的分库分表方案?
2、用过哪些分库分表中间件,有啥优点和缺点?讲一下你了解的分库分表中间件的底层实现原理?
3、我现在有一个未分库分表的系统,以后系统需分库分表,如何设计,让未分库分表的系统动态切换到分库分表的系统上???TCC? 那若出现网络原因,网络连不通怎么办啊???
4、分布式事务知道吗? 你们怎么解决的?
5、为什么要分库分表啊???
6、分布式寻址方式都有哪些算法知道一致性hash吗?手写一下java实现代码??你若userId取摸分片,那我要查一段连续时间里的数据怎么办???
7、如何解决分库分表主键问题有什么实现方案??
分布式缓存
1、redis和memcheched 什么区别为什么单线程的redis比多线程的memched效率要高啊?
2、redis有什么数据类型都在哪些场景下使用啊?
3、reids的主从复制是怎么实现的redis的集群模式是如何实现的呢redis的key是如何寻址的啊?
4、使用redis如何设计分布式锁?使用zk可以吗?如何实现啊这两种哪个效率更高啊??
5、知道redis的持久化吗都有什么缺点优点啊? ?具体底层实现呢?
6、redis过期策略都有哪些LRU 写一下java版本的代码吧??
分布式服务框架
1、说一下dubbo的实现过程注册中心挂了可以继续通信吗??
2、zk原理知道吗zk都可以干什么Paxos算法知道吗?说一下原理和实现??
3、dubbo支持哪些序列化协议?hessian 说一下hessian的数据结构PB知道吗为啥PB效率是最高的啊??
4、知道netty吗'netty可以干嘛呀NIO,BIO,AIO 都是什么啊有什么区别啊?
5、dubbo复制均衡策略和高可用策略都有哪些啊动态代理策略呢?
6、为什么要进行系统拆分啊拆分不用dubbo可以吗'dubbo和thrift什么区别啊?
分布式消息队列
1、为什么使用消息队列啊消息队列有什么优点和缺点啊?
2、如何保证消息队列的高可用啊如何保证消息不被重复消费啊
3、kafka ,activemq,rabbitmq ,rocketmq都有什么优点,缺点啊???
4、如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
分布式搜索引擎
1、es的工作过程实现是如何的?如何实现分布式的啊
2、es在数据量很大的情况下( 数十亿级别)如何提高查询效率啊?
3、es的查询是一个怎么的工作过程?底层的lucence介绍一下呗倒排索引知道吗?es和mongdb什么区别啊都在什么场景下使用啊?
高并发高可用架构设计
1、如何设计一个高并发高可用系统
2、如何限流?工程中怎么做的,说一下具体实现
3、缓存如何使用的缓存使用不当会造成什么后果?
4、如何熔断啊?熔断框架都有哪些?具体实现原理知道吗?
5、如何降级如何进行系统拆分,如何数据库拆分????
分布式专题架构
通信协议
1、说一下TCP 'IP四层?
2、http的工作流程?? ?http1.0 http1.1http2.0 具体哪些区别啊?
3、TCP三次握手,四层分手的工作流程画一下流程图为什么不是四次五次或者二次啊?
4、画一下https的工作流程?具体如何实现啊?如何防止被抓包啊??
算法
1、比较简单,我一个文件,有45亿个阿拉伯数字,如何进行去重啊如何找出最大的那个数啊?
数据结构
1、二叉树和红黑树等。
源码中所用到的经典设计思想及常用设计模式
福利
这里给大家提供一个学习交流的平台,Java架构师群:650385180,面试答案在群的共享区。
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的可以加群。
2018“金三”之一线互联网公司Java高级面试题总结的更多相关文章
- 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...
- Java高级面试题解析(一)
最近,在看一些java高级面试题,我发现我在认真研究一个面试题的时候,我自己的收获是很大的,我们在看看面试题的时候,不仅仅要看这个问题本身,还要看这个问题的衍生问题,一个问题有些时候可能是一个问题群( ...
- 备战金九银十,Java研发面试题(Spring、MySQL、JVM、Mybatis、Redis、Tomcat)[带答案],刷起来!
八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 苏先生在这里给大家整理了一套各大互联网 ...
- 金三银四求职季,前端面试题小梳理(HTML、CSS、JS)
好久没写学习记录,最近太多事,又到一年求职季,都说金三银四求职季,自己也做一下最近学习的一些前端面试题梳理,还是个小白,写的不对请指正,不胜感激. HTML篇 html语义化 用语义化的代码标签书写, ...
- Java程序员金三银四精心准备的面试题及答案(基础篇)
1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问 ...
- Java高级面试题解析(二):百度Java面试题前200页(精选)
基本概念 操作系统中 heap 和 stack 的区别 heap是堆,stack是栈,是两种不同的数据结构.堆是队列优先,先进先出:栈是先进后出. 在java多线程中,每个线程都有自己的栈:不同的线程 ...
- Java 高级面试题收集
Java概念题 拆箱装箱的原理 自动装箱时编译器调用valueOf将原始类型值转换成对象,同时自动拆箱时,编译器通过调用类似intValue(),doubleValue()这类的方法将对象转换成原始类 ...
- JAVA高级-面试题总结
最近面试了一些公司,针对面试中遇到的问题在此记录,提升自己,造福大家 一.java源码相关 ArrayList创建和add等各种api使用原理 HashMap 的创建,put原理,和HashTable ...
- Java高级面试题及答案
List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高 ...
随机推荐
- quartz 任务时间调度入门使用
这一小节主要是针对cronschedule用法进行讨论,首先讲一下cronschedule基础知识点: 一个cronschedule至少有6个字符(或者7个字符),空格作为间隔,比如 0 * * * ...
- poj3614 Sunscreen【贪心】
Sunscreen Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11772 Accepted: 4143 Descri ...
- java 中方法的重写
方法的重写 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.方法重写必须要和被重写方法具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写方法更严格的访问权限 4.注意与 ...
- 如何取消一个目录的git初始化
一不小心把我的整个home目录都初始化为git仓库了,通过执行删除.git命令,可以恢复 rm -rf .git
- c++之list的用法
list同vector一样是c++中的一个模板类.关于它的详细内容可查看c++的文档 http://www.cplusplus.com/reference/list/list/ C++中list的使用 ...
- 解决下载的CHM文件无法显示网页问题
问题症状:打开CHM文件,左边目录齐全,可右边边框里却是无法显示网页. 解决方法:方法一:修改注册表1)新建一个文本文件2)添加如下内容:REGEDIT4[HKEY_LOCAL_MACHINE\SOF ...
- 【编码备份】1.9从Excel中导入用户名进行测试,用户一次进入系统进行答题测试。
# coding=utf-8 """ Created on 2017年7月31日 @author: candy """ from selen ...
- 配合dedecms内容模型实现后台输入栏目id前端输出文章列表
为了简化开发的工作量,也方便编辑快速操作,决定将后台进行重新设置.配合dedecms内容模型实现后台输入栏目id前端输出文章列表,这样制作科室专题页也变快了很多.比如,我们添加一个“科室专家栏目id” ...
- js-jquery-Validate校验【二】中文api
jQuery.validate 中文 API 名称 返回类型 描述 validate(options) Validator 验证所选的 FORM. valid() Boolean 检查是否验证通过. ...
- Session实例
Session常用方法(一) session对象用来保存一些在与每个用户回话期间需要保存的数据信息,这样就方便了回话期间的一些处理程序.如可以用session变量记住用户的用户名,以后就不必在其他的网 ...