面试题

基础能力

什么是值传递和引用传递
线程状态有哪些,它们之间是如何转换的
线程与进程的区别,各有什么优缺点

索引的作用及代价?如何建好索引?索引的原理
Hash算法
算法:二分查找算法,冒泡排序、选择排序算法、插入排序、归并、希尔、快排算法
锁:乐观锁和悲观锁
什么情况下会产生死锁?如何避免死锁?
JVM GC:介绍垃圾回收机制,垃圾回收算法。
JAVA的反射机制
Java集合类有哪些,分别在哪些场景使用
Linux下如何快速查找某个文件
Linux下如何设置环境变量
Linux下如何查看TCP连接状态
简述一次HTTP请求的基本流程
什么是JDBC,为什么需要什么是JDBC?实现原理是什么?
Get和Post的区别
Cookie和Session的区别,分别用于什么场景
为什么需要编码?UTF-8和GBK是如何进行编码的
分别介绍下JDK,JRE和JVM

学习能力

列举所熟悉或研究过的技术框架
如何学习Java/C++?只是停留在用,还是深入研究过。
如何学习新技术?考察是否善于学习
新技术关注度,平常对哪方面的技术感兴趣?技术的广度和热情
看过哪些技术书,总结下看过的技术书

实战能力

介绍下自己开发过的程序,谈谈后续如何优化
在实战中有没有遇到什么技术问题,如何解决的

逻辑思维能力

有人把公司内网的信息截图泄露到外面,如何找出截图的人?
你有几位学弟,你要找其中一位学弟和你一起做项目,如何通过几个问题来判断学弟是否聪明?
你写了篇专利,如何快速判断这篇专利的创新性,和已有专利的重复度。
如果你开发了一个内部秒杀系统,让同事秒杀某件商品,如何找到作弊的人?

转载自 并发编程网:http://ifeve.com/fresh-graduate-interview/


————————-题库———————–

基础题目

Java线程的状态
进程和线程的区别,进程间如何通讯,线程间如何通讯
HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别
Cookie和Session的区别
索引有什么用?如何建索引?
ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。
equals方法实现
面向对象
线程状态,BLOCKED和WAITING有什么区别
JVM如何加载字节码文件
JVM GC,GC算法。
什么情况会出现Full GC,什么情况会出现yong GC。
JVM内存模型
Java运行时数据区
事务的实现原理

技术深度

有没有看过JDK源码,看过的类实现原理是什么。
HTTP协议
TCP协议
一致性Hash算法
JVM如何加载字节码文件
类加载器如何卸载字节码
IO和NIO的区别,NIO优点
Java线程池的实现原理,keepAliveTime等参数的作用。
HTTP连接池实现原理
数据库连接池实现原理
数据库的实现原理

技术框架

看过哪些开源框架的源码
为什么要用Redis,Redis有哪些优缺点?Redis如何实现扩容?
Netty是如何使用线程池的,为什么这么使用
为什么要使用Spring,Spring的优缺点有哪些
Spring的IOC容器初始化流程
Spring的IOC容器实现原理,为什么可以通过byName和ByType找到Bean
Spring AOP实现原理
消息中间件是如何实现的,技术难点有哪些

系统架构

如何搭建一个高可用系统
哪些设计模式可以增加系统的可扩展性
介绍设计模式,如模板模式,命令模式,策略模式,适配器模式、桥接模式、装饰模式,观察者模式,状态模式,访问者模式。
抽象能力,怎么提高研发效率。
什么是高内聚低耦合,请举例子如何实现
什么情况用接口,什么情况用消息
如果AB两个系统互相依赖,如何解除依赖
如何写一篇设计文档,目录是什么
什么场景应该拆分系统,什么场景应该合并系统
系统和模块的区别,分别在什么场景下使用

分布式系统

分布式事务,两阶段提交。
如何实现分布式锁
如何实现分布式Session
如何保证消息的一致性
负载均衡
正向代理(客户端代理)和反向代理(服务器端代理)
CDN实现原理
怎么提升系统的QPS和吞吐量

实战能力

有没有处理过线上问题?出现内存泄露,CPU利用率标高,应用无响应时如何处理的。
开发中有没有遇到什么技术问题?如何解决的
如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能。
新浪微博是如何实现把微博推给订阅者
Google是如何在一秒内把搜索结果返回给用户的。
12306网站的订票系统如何实现,如何保证不会票不被超卖。
如何实现一个秒杀系统,保证只有几位用户能买到某件商品。

软能力

如何学习一项新技术,比如如何学习Java的,重点学习什么
有关注哪些新的技术
工作任务非常多非常杂时如何处理
项目出现延迟如何处理
和同事的设计思路不一样怎么处理
如何保证开发质量
职业规划是什么?短期,长期目标是什么
团队的规划是什么
能介绍下从工作到现在自己的成长在那里

高建华 wechat
感觉不错,微信打赏一下!