高级Java研发工程师面试题总结
目录
一、Java基础
二、JVM虚拟机基础
三、开源框架基础
四、分布式基础
五、设计模式基础
六、数据库基础
七、网络基础
八、数据结构和算法基础
九、Linux基础
十、其他技术基础
一、JAVA基础
1、String、StringBuffer、StringBuilder的区别,StringBuilder内部实现机制。
答:https://segmentfault.com/a/1190000005369491
2、
3、Thread和Runnable的区别
4、
5、
6、堆和栈的区别
7、HashTable和HashMap的区别
8、抽象类和接口的区别
9、final关键字的使用和区别
10、异常分类和处理机制
11、JDK版本的区别
12、反射机制的使用
13、匿名内部类的使用
14、泛型的概念和使用
15、弱引用和虚引用的概念和使用方式
多线程
1、如何避免Quartz重复启动任务
2、线程池满了如何处理额外的请求
3、同一个对象的连个同步方法能否被两个线程同时调用
集合框架
I/O操作
<!- - ************************************************************************************************* - ->
二、JVM虚拟机基础
1、GC算法有哪些
2、垃圾回收器有哪些
3、如何调优JVM
<!- - ************************************************************************************************* - ->
三、开源框架基础
1、SpringMVC和Struts2的区别
答:https://segmentfault.com/a/1190000005591909
2、Spring IOC和AOP的概念以及实现方式
3、Spring事务的管理
4、Hibernate与MyBatis的比较
5、Hibernate延迟加载的机制
<!- - ************************************************************************************************* - ->
四、分布式基础
1、zookeeper的用途
2、dubbo的用途以及优点
3、dubbo的实现原理
<!- - ************************************************************************************************* - ->
五、设计模式基础
1、写出一个设计模式的类图
2、设计模式的意义是什么
3、手写单例模式,
<!- - ************************************************************************************************* - ->
六、数据库基础
1、inner join和left join的区别
2、复杂SQL语句
3、数据库优化方式
4、数据库拆分方式
5、如何保证不同数据结构的数据一致性
6、SQL创建索引的语句
<!- - ************************************************************************************************* - ->
七、网络基础
1、TCP和UDP区别,TCP的三次握手和四次分手
2、Get和Post的区别
3、Https协议的实现
4、长连接的管理
5、Socket的基本方法
6、cookie和session区别与联系,及使用场景
<!- - ************************************************************************************************* - ->
八、数据结构和算法基础
1、单向链表的逆序排列
2、双向链表的操作
3、1亿个整数的倒序输出
4、找出给定字符串中最长回文(回文:abcdcba,两端对称)
<!- - ************************************************************************************************* - ->
九、Linux基础
1、Linux基础命令
答:https://segmentfault.com/a/1190000005568954
2、
<!- - ************************************************************************************************* - ->
十、其他技术基础
1、缓存的使用场景
2、缓存命中率的计算
3、Memcache与Redis的比较
4、如何实现Redis的分片
5、MongoDB的特点
6、什么是XSS攻击,具体如何实现?开放问题:如何保障系统安全?
7、什么是SQL注入,怎么防止SQL注入
<!- - ************************************************************************************************ - ->
参考资料:
1、https://segmentfault.com/a/1190000004273497
高级Java研发工程师面试题总结的更多相关文章
- Java研发工程师面试题
基础题 一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBu ...
- Java研发工程师知识点总结
Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...
- 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》
摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...
- 2015年阿里实习生面试Java研发工程师 小记
5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条 ...
- 天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷
写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...
- 蚂蚁金服财富技术部,诚招Java研发工程师。校招内推!!!
蚂蚁金服财富技术部,诚招Java研发工程师. 团队是蚂蚁金服财富技术部核心团队,支持亿级互联网交易清算,在这里不仅能学习到先进的互联网技术,也能了解许多终身受益的金融知识. 内推对象 2020届毕业生 ...
- 2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试
没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及...找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构.算法等基础上了 ...
- 阿里Java研发工程师实习面经,附面试技巧
作者:如何进阿里 链接:https://www.nowcoder.com/discuss/72899?type=0&order=0&pos=17&page=1 来源:牛客网 前 ...
- 2019年高级Java程序员面试题汇总
目录 JDK Dubbo Zookeeper Strut2 Spring系列 Redis系列 Mysql系列 Java多线程 消息中间件 线程池 事物 JVM 设计模式 其他 程序设计 基础知识 编程 ...
随机推荐
- MySQL的Grant命令[转]
本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...
- salesforce 零基础学习(四十二)简单文件上传下载
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...
- JS工具
/*** @author Direction*/ /*** JALJA 命名空间 namespace*/var JALJA= {} ; /*** Interface Class* 接口类需要2个 ...
- jQuery学习-打字游戏
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- easyui combotree下拉框多选赋值
发现jquery.easyui.min.js 1.3.4版本的用setValues给多选下拉框赋值不成功,只能用1.3.1版本的 Html代码: <input id="ProductL ...
- mac本用WTG(Windows To Go)安装Win10到移动硬盘
准备工作: 一个空的 USB 3.0 移动硬盘(在安装 WTG 时候会将这个硬盘清空重新并分区,注意备份好数据.USB 3.0 的优盘是不行的,即使安装成功,系统的运行速度会奇慢) 原版Windows ...
- 那些年我们写过的T-SQL(上篇)
在当今这个多种不同数据库混用,各种不同语言不同框架融合的年代(一切为了降低成本并高效的提供服务),知识点多如牛毛.虽然大部分SQL脚本可以使用标准SQL来写,但在实际中,效率就是一切,因而每种不同厂商 ...
- javascript学习5
JavaScript Array(数组)对象 数组对象的作用是:使用单独的变量名来存储一系列的值. 实例 创建数组 创建数组,为其赋值,然后输出这些值. For...In 声明 使用 for...in ...
- java字符编码和oracle乱码
编码问题我仍旧没搞懂,最根本的从哪里来就没搞懂.当页面发送请求,编码到后台是什么编码呢?好吧,我默认的都是utf-8.后台接收参数后,可以在控制台打印出来,我也不清楚是什么编码.然后,就是数据库问题. ...
- BitCoinJ之Hello World示例程序
简介 比特币(BitCoin)是一种基于区块链(BlockChain)技术的数字化货币. 本文介绍了使用基于Java语言的BitCoinJ API实现一个简单的收取和支付比特币的示例程序. 开发环境 ...