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


    Java基础

    【异常处理】

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

    【泛型】

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

    【reflection】

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

    【annotation】

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

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

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

    【集合】

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

    高级:class loader,bytecode,nio, juc

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

    其他:

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

    程序设计和开发

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

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

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

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

    【其他】

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


    开源/框架

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

    JVM相关

    1、jvm加载class的过程?--5
    2、内存泄露的原因是什么?如何避免?
    3、jvm调优策略?--6
    4、常用的jvm监控命令?--6
    5、如何做内存dump?--6
    6、JVM对于新生代和旧生代的垃圾回收机制?--5 6
    7、Java 中 WeakReference 与 SoftReference的区别
    8、Java 中堆和栈有什么区别
    9、是否遇到到内存泄露的案例? 如何解决的 ? --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服务器基本操作命令】

    1、如何统计集群中的pv?
    2、grep 、awk
    3、查看系统进程/查找指定进程?
    4、linux的内存分配策略?
    5、如何查看系统负载?性能监测工具有哪些?
    6、如何查看一个文件?cat、vi、less、more区别?
    7、如何跨机器copy?
    8、如何查看磁盘分区空间使用情况,如何查看目录及内容大小 ?

    网络安全

    【网络安全知识: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等】
    1、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

    1、对于系统优化,平时如何查找瓶颈,最后又如何确定优化后是有效的?
    2、如何做集群的性能调优?
    3、如何设置一个应用的最佳请求数和最佳处理线程数?
    4、降低了RT是否就能提高TPS?如何减少RT?如何提升QPS?
    5、通过什么工具查找热点耗时代码?
    6、如何监控代码的执行效率?又是如何来找到瓶颈的?


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

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

    传道授业:

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

    开放性问题:

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

  • 相关阅读:
    vue vant h5
    linux安装Loki+grafana日志收集系统(二进制安装)
    Map开发实例
    SQL如何获得本季度第一天、一年的第一天、本月的最后一天
    sql中union 和 union all的区别
    引用一个网络图片作为样式的致命悲剧
    SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
    那些代码中我们常犯的错误你有木有。。。
    SQLServer获取每组前10%的数据
    iADB隐私政策
  • 原文地址:https://www.cnblogs.com/yanggb/p/10662850.html
Copyright © 2020-2023  润新知