Java面试系列
如果你的面试简历是如下这样写的,请务必准备回答下面的所有问题。
面试职位:Java高级工程师
专业技能:
(1)牢固掌握Java基础知识,如集合、并发、I/O等,并对Java源码有一定的研究。
(2)掌握Git、SVN等版本管理工具,熟练使用Maven、Jenkins等工具。
(3)熟练使用MySQL数据库,了解InnoDB存储引擎,接触过MySQL的调优。熟悉Redis数据库。
(4)熟练使用Linux常用命令,编写过shell脚本。
(5)熟练使用Spring、Hibernate等框架。
...
面试的次数多了,其实也就是“老驴拉磨,跑不出那个圈”,本人总结了面试Java高端职位一些出现概率极大的问题,罗列如下。如果你觉得还有些问题出现的概率也比较大,又或者本人博客中总结的有误,请指教!
下面的每个大问题本人都做了回答,如果有补充的话或者哪有不明白地方,请留言!
(1)JVM内存查看与分析,编写内存泄露实例
(2)对象的分配以及出发Minor GC与Full GC的条件
(3)类加载过程,如何获得当前对象的ClassLoader
(4)Java的先行发生关系 happens-before
(5)JVM的类载入器
(6)垃圾回收策略
(1)Hash的死锁原因
(2)关于ConcurrentHashMap相关的问题
(3)LinkedHashMap的应用
(1)synchronized与Lock的区别
(2)Lock机制的实现
(3)源码剖析AQS在几个同步工具类中的使用
(1)动态代理的几种方式
(2)Spring AOP(Aspect Oriented Programming面向切面编程)与IoC(Inverse of Control控制反转)的实现
(1)InnoDB引擎索引
(2)建立索引的几大原则
(3)MySQL的几种优化
(4)MySQL常用函数
(5)MySQL数据库插入和删除一条数据的过程在底层是如何执行的?
(6) MySQL的事务是如何实现的?
(7)数据库范式与反范式
(1)明确你的项目到底是做什么的,有哪些功能
(2)明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用
(3)明确你的模块在整个项目中所处的位置及作用及明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术
(4)项目中遇到的难题,怎么解决的?
(5)有什么研究深入的技术或比较满意的项目?
(1)Redis持久化的几种方式
(2)Redis的缓存失效策略
(3)Redis和Memcached的区别
(4)Redis分布式锁的实现
(5)Redis的Reactor模式
(6)MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
(1)深入理解Class类及其中的方法
(2)如何在运行时确定对象类型?
(3)关于随机数生成的类Random
(4)SimpleDateFormat在并发量高的环境下访问会有什么问题?
(1)假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
(2)分析线程池的实现原理和任务的调度过程
(1)ID分配单点问题
(2)数据库如何实现事务?
(3)数据库与缓存不一致问题
(1)Maven 生命周期及Maven多项目聚合与继承
(2)Maven出现依赖冲突如何解决?
(3)merge与rebase的区别
(4)Git产生冲突的解决方案
(1)随便写一个awk的命令、用awk统计文本行数
(2)编写一个简单的Shell脚本
(3)Linux系统监控命令
(4)线上CPU100%,如何定位和排查问题
13、Java面试13|算法
(1)冒泡排序
(2)快速排序
(3)一致性hash
(4)LRU最近最少使用算法
(1)在分布式环境,管理Session通常使用下面三种方式:
(2)Session与Cookie的区别与联系
(3)Cookie在客户端被禁用怎么处理?
15、Java面试15|网络
(1)TCP(Transmission Control Protocol)三次握手与四次分手
(2)http与https建立连接的过程
(3)描述HTTP协议(HTTP请求和响应报文的格式)
Java面试系列的更多相关文章
- java面试系列<4>——IO
面试系列--javaIO 一.概述 java的IO主要分为以下几类: 磁盘操作:File 字节操作:InputStream 和 OutputStream 字符操作:Reader 和 Writer 对象 ...
- Java面试系列之HashMap大扫盲汇总
PS:整理的稍微有点急,不足之处,望各路道友指正,List相关可以查看前一篇随笔! HashMap的工作原理是近年来常见的Java面试题,几乎每个Java程序员都知道HashMap,都知道哪里要用Ha ...
- Java面试系列第一篇-基本类型与引用类型
这篇文章总结一下我认为面试中最应该掌握的关于基本类型和引用类型的面试题目. 面试题目1:值传递与引用传递 对于没有接触过C++这类有引用传递的Java程序员来说,很容易误将引用类型的参数传递理解为引用 ...
- Java面试系列第2篇-Object类中的方法
Java的Object是所有引用类型的父类,定义的方法按照用途可以分为以下几种: (1)构造函数 (2)hashCode() 和 equals() 函数用来判断对象是否相同 (3)wait().wai ...
- Java面试系列第3篇-HashMap相关面试题
HashMap是非线程安全的,如果想要用线程安全的map,可使用同步的HashTable或通过Collections.synchronizeMap(hashMap)让HashMap变的同步,或者使用并 ...
- 死磕Java面试系列:深拷贝与浅拷贝的实现原理
深拷贝与浅拷贝的问题,也是面试中的常客.虽然大家都知道两者表现形式不同点在哪里,但是很少去深究其底层原理,也不知道怎么才能优雅的实现一个深拷贝.其实工作中也常常需要实现深拷贝,今天一灯就带大家一块深入 ...
- Java面试系列--java基础
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...
- 大宇java面试系列(二):jvm组成部分
1. 说一下 JVM 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口(Na ...
- 大宇java面试系列(三):Redis常见面试题
1. Redis 是什么?都有哪些使用场景? 我们先来理解经典的CAP理论: 一致性:是指从数据层面来看的一致性. 可用性:是指从系统层面的可用性. 容错性:是指从网络层面的的容错性. 数据库逐渐从关 ...
随机推荐
- DataTimePicker
日期时间控件 DataTimePicker 功能:拾取系统时间.日期,并以对应格式输出 重要属性: a. date,拾取的时间. b. Time,拾取的系统时间 举例如:button2.Captio ...
- HDU-1020-Encoding(水题,但题目意思容易搞错,英语的问题)
题目链接 http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1000&ojid=0&cid=7996&h ...
- 查看Eclipse版本号,及各个版本区别
查看Eclipse版本号,及各个版本区别 参考:http://blog.csdn.net/gaojinshan/article/details/38903043 查看Eclipse版本号的方法:1.找 ...
- weblogic 集群部署时上传jsp不更新问题
在进行集群部署的时候,进行“源可访问性”设置的时候,要注意选择“我要使部署能够通过下列位置进行访问”: 前提是必须有共享存储:
- Qt Quick编程(1)——QML的核心部分ECMAScript
说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape.Sun.微软.Borland等公司基于JavaScript和JScript锤炼.定义出来的. EC ...
- 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细
公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...
- 《JAVASCRIPT高级程序设计》window/location/navigator/screen/history对象
如果要在web中使用JAVASCRIPT,那么BOM(浏览器对象模型)毫无疑问是最重要的部分.BOM提供了很多对象,例如,window.location.navigator.screen.histor ...
- ADO.NET 扩展属性、配置文件 和 对战游戏
扩展属性 有外键关系时将信息处理成用户可看懂的 利用扩展属性 如:Info表中的民族列显示的是民族代号处理成Nation表中的民族名称 需要在Info类里面扩展一个显示nation名称的属性 例:先前 ...
- Extjs学习笔记之九 数据模型(上)-extjs
来源:niutuku.com | vincent上传于2012-07-20 | 1802次浏览 | 0条评论 本文开始进入Extjs最核心最优秀的部分. 标签:Extjs 数据模型 Extjs的数 ...
- C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C ...