阿里巴巴的一些面试题(无答案)

Java基础java

【异常处理】linux

一、Try catch若是找到了一个匹配的catch,finally还会执行吗?--4
二、java异常大体分类,并举出相应异常类及在实际项目各层是如何处理异常的?--5 6nginx

【泛型】web

1. 泛型的实现原理? 伪泛型 --5算法

【reflection】spring

一、什么是反射?如何使用的?sql

【annotation】数据库

一、java注解的实现原理? --5apache

【Java基本类库:io, util, lang 】编程

一、String, StringBuffer和StringBuilder区别?Stringbuffer初始容量是多少,如何作扩容?--5
2. hashcode()和equals()是做用是什么?使用注意事项
3. 能将int强制转换成byte类型么,为何
4. “a==b”和”a.equals(b)
5. 使用什么样的数据类型来描述金额

【集合】

一、遍历 ArrayList 时移除一个元素
二、List和Set的区别 -- 重复、索引、null
三、ArrayList,LinkedList,HashMap这三个经常使用集合类的不一样特色及适用场景,及其底层实现的数据结构?--5 6
四、HashSet是如何判断新添加的对象是否已经存在的??若是已存在,它是再也不放进去,仍是放进去覆盖以前的??
五、Map如何遍历?那种方式效率最好?

高级:class loader,bytecode,nio, juc

一、java并发编程包,用过哪些,怎么用?--5 6
2. 什么是并发?在单JVM下如何控制并发,在多JVM下若是控制并发?--6
二、synchronized和java.util.concurrent.locks.Lock的异同?--5 6
三、Threadlocal是什么?是否用到过,注意事项是什么?--5 6

其余:

一、详细描叙一次远程调用的过程?hessian有什么限制?描叙一个wsdl文档的关键元素?--6
二、Java 中,抽象类与接口之间有什么不一样
三、继承和组合之间有什么不一样

 

程序设计和开发

【数据结构和算法:经常使用数据结构,排序,检索】

一、有几种排序算法?效率分析?--5
二、描叙下hash算法?什么是一致性hash?--5

【面向对象分析设计能力:UML、设计模式】

一、使用过哪些设计模式,线程安全的单例模式要注意什么?--5 6
二、代理、适配器、模板模式是否了解 ? 描述一下类结构?-- 6
三、在项目中是否采用分层的结构,是怎样划分的,各层之间采用了哪些相关技术?--6 7

【其余】

一、好代码的标准是什么?--5 6
二、您经过哪些手段,来保障产品的质量?--5 6
三、经常使用的加密算法有哪些?签名算法呢?
四、如何实现数据源动态切换?


开源/框架

一、spring AOP解决了什么问题,spring如何实现AOP?--5
二、spring分几个模块,各个模块之间的关系?--6
三、spring bean初始化的过程?static 代码块、构造函数、init方法、afterPropertiesSet顺序?单例?spring的单例和设计模式中单例模式区别?设计模式中的单例模式使用过程当中的注意点?如何实现?(多线程、序列化) --6 7
四、spring 提供了哪两种事物处理方式,采用了java的什么技术?--6
5. spring声明式事务处理时如何实现的?(这个问题能够涵盖AOP的概念、代理模式、线程、JDBC事务处理等)
六、IOC的设计理念在spring中是怎么体现的?--6
7. Hibernate的理解(若是有写到能够问),一级缓存、二级缓存的做用,项目中是如何应用的?Hibernate域ibatis区别?哪一个性能高??
八、osgi了解吗?优缺点?

 

JVM相关

一、jvm加载class的过程?--5
二、内存泄露的缘由是什么?如何避免?
三、jvm调优策略?--6
四、经常使用的jvm监控命令?--6
五、如何作内存dump?--6
六、JVM对于新生代和旧生代的垃圾回收机制?--5 6
七、Java 中 WeakReference 与 SoftReference的区别
八、Java 中堆和栈有什么区别
九、是否遇到到内存泄露的案例? 如何解决的 ? --6 7

 

Web开发

【协议】

DNS
什么是A记录、CNAME ?
HTTP

1. get 和post区别 ? --5
2 描述一下一个web请求的处理过程?--5
3. session和cookie的区别?HTTP请求中Session实现原理?若是客户端禁止Cookie能实现Session吗?跨域cookie如何访问?--5 6
4. 分别采用cookie和session如何实现web集群,他们分别适用哪些应用场景?--6 7

【Java Servlet API】

1. forward() 与redirect()区别 ? --5
2. servlet的生命周期,是否有线程安全问题,如何解决?(单例,不容许在servlet中定义全局的类对象) --5 6
3. 过滤器拦截器的区别? --5
4. 过滤器、拦截器、servlet的顺序?

【Velocity/JSP等模板引擎】

1. velocity是如何渲染vm文件的 ?
2. 比较一下velocity和JSP技术 ?

【主流Web开发框架:SpringMVC,Struts等】

1. 如何实现一个多语言版本的网站?语言切换如何处理?--6 7
2. 请描述一下SpringMVC中DispatchServelet的请求处理过程 ? -- 6 7

【Web服务器部署和配置:Apache,Tomcat,JBoss,Jetty等】

1. apache和nginx的区别? --5 6
2. tomcat 、jetty、jboss的区别?--5 6
3. jboss的线程大小如何调整?--6


操做系统

【linux服务器基本操做命令】

一、如何统计集群中的pv?
二、grep 、awk
三、查看系统进程/查找指定进程?
四、linux的内存分配策略?
五、如何查看系统负载?性能监测工具备哪些?
六、如何查看一个文件?cat、vi、less、more区别?
七、如何跨机器copy?
八、如何查看磁盘分区空间使用状况,如何查看目录及内容大小 ?

 

网络安全

【网络安全知识:DDOS,Firewall,HTTPS,数字签名等】

1. http和https的区别?https如何保证连接的安全?一个网站如何部署成https过程?描述一次完整的https请求的过程,客户端、服务端都作了啥?单向认证?双向认证?--6 7

【常见Web安全问题解决方案:XSS,CSRF】

1. 如何作表单防篡改、防重复提交?--6
2. 解释 XSS、 XSRF、sql注入,及举例说明?--5 6

 

数据库

【数据库接口编程:JDBC,O/R Mapping,DAO,iBatis, Hibernate等】
一、JDBC的执行过程? --5 6
2. db链接池的原理?解决什么问题?--6
3. ibatis如何实现批量插入?--6
4. 简述spring封装了ibatis的SqlMapClientTemplate类中,执行一个数据库查询语句的主要过程?--5

【数据库使用和设计:Oracle,Mysql】

1. 什么是死锁,如何避免死锁?乐观锁和悲观锁各自的使用场景?有哪些方案实现乐观锁?时间戳、版本、所有copy到内存,提交时比对。--6 7
2. 事务的特色?采用什么技术实现分布式事务,如何实现,讲讲原理,为何须要两阶段提交,能解决哪些问题,哪些问题不能解决。spring 提供了哪两种事物处理方式,采用了java的什么技术?--6 7
3. 表关联时,内链接,左链接,右链接怎么理解?--5
4. 数据库操做的性能瓶颈一般在哪里,1000万级别访问,在数据库和java程序上考虑哪些来进行性能优化?--6
5. oracle三层分页的实现?--5
6. oracle中rownum和rowid的理解

【数据结构优化,SQL调优】

1. 经常使用sql优化策略?如何查看sql资源消耗?如何查看执行计划 ?
2. 索引的怎么建最合适?是否创建了索引查询必定会快?如何走到指定的索引?--5 6
3. 存在A、B字段,以A、B顺序创建联合索引,
SQL语句 where A = ? 是否会走索引 ?
SQL语句 where B = ? 是否会走索引 ?
SQL语句 where B = ? and A = ? 是否会走索引 ?


架构设计

【分层的应用框架设计思想:SOA,事件驱动等】

1. 在项目的架构设计中,对于将来可能发生的需求变动,你是如何考虑的?如何应对?
2. 模块化来下降耦合性时如何把握模块划分的粒度?如何权衡复用性与粒度过细致使依赖复杂的矛盾?

【分布式系统原理:CAP,最终一致性,幂等操做等】

1.什么是分布式系统下CAP理论?
2.如何进行幂等控制?--6


【大型网络应用结构:消息中间件,缓存,负载均衡,集群技术,数据同步】

1. 在高并发应用中,Cache的做用不可忽视,在Cache的使用上,有哪些问题须要去注意?
2. 是否曾经用到过缓存?是单机的仍是集群的?如何设计分布式缓存?高并发状况下如何初始化?--6 7
3. 4/7层负载均衡的差异?--7
4. 负载均衡的策略有哪些?如何作到会话保持?--6
5. 有没有作服务器健康检查?怎么作?-- 6 7


【高可用,可容灾分布式系统设计能力】

1. 设计一套系统故障隔离方案?设计一套流量控制方案?
2. 您通常会从哪些方面来保证网站的高可用性?有什么关键措施和经验能够提升系统的可用性?

【大容量数据存储和检索系统设计能力:数据库分区,NoSQL,搜索引擎等】

1. 如何消除DB单点?数据拆分的方案?
2. 在架构设计中如何应对不断出现的超过预估的数据量和访问量?

【服务治理】
1. 系统是否有对内或者对外提供服务,如何管理服务的使用权限,如何作服务升级?


运维能力

【应用发布和运维】

1. 在大规模机器集群上,大家如何实现程序发布上线、配置的管理以及程序和机器的监控和健康检查?
2. TCP创建链接的过程?三次握手过程?--5 6
3. 介绍下OSI七层模型?每一层分别作什么的?TCP创建链接的过程?三次握手过程?--6 7

【线上故障分析和排查】

1. 线上系统出现问题后如何分析排查?
2. 系统中的日志是如何打印的?
3. 系统的异常处理是如何设计的?

 

性能优化:--6 7

一、对于系统优化,平时如何查找瓶颈,最后又如何肯定优化后是有效的?
二、如何作集群的性能调优?
三、如何设置一个应用的最佳请求数和最佳处理线程数?
四、下降了RT是否就能提升TPS?如何减小RT?如何提高QPS?
五、经过什么工具查找热点耗时代码?
六、如何监控代码的执行效率?又是如何来找到瓶颈的?


业务分析能力:
重要业务模块的需求分析及实现
中小规模产品的架构,系统设计和实现
大规模产品或产品线的架构,系统设计和实现

1. UML中包含哪些图? 在项目中如何运用UML进行分析设计的?
2. 是否使用领域模型设计? 领域模型如何设计的?
3. DB的表结构是怎样分析产出的?

 

传道授业:

1.如何帮助团队成员提高能力的?
2.作过什么分享?分享的内容大纲简短介绍一下?

 

开放性问题:

一、如何实现一套单点登陆的系统?两个系统之间相互免登如何设计?--6 7 二、如何设计一个红包发送系统,支持100w的红包同时发送? 三、你理解的分布式系统是什么样的? 四、如何设计一个分布式缓存?如何进行扩容? 五、设计一个单点登陆的系统及流程? 六、提高团队的研发质量上有哪些策略? 七、设计一个秒杀系统? 八、实现转帐A——B程序?--7 8 九、存储全国人民的身份证号,并可以按照多维度,提供快速查询功能,如何设计?

相关文章
相关标签/搜索