阿里java面试题

1、线程怎么保持同步
使用synchronized关键字同步方法或代码
2、spring中bean的周期是怎样的
1:两个类如何产生关系
2:java把一个文件的内容复制到另外一个文件上

3、给了一个场景,在一个数组中怎么找出两个相加是是10的数(这题不能问,必须写代码)

4、dubbo但是对使用方式和分布式架构原理
http://blog.csdn.net/chao_19/article/details/51764150
5、抽象类和接口区别,多线程及其同步方式
前段时间我面试的时候总结的笔记:
抽象类:

  1. 抽象方法,只有行为的概念,没有具体的行为实现。 使用:abstract 关键字修饰,并且没有方法体。
  2. 包含抽象方法的类,就一定是抽象类。 使用: abstract 关键字修饰,包含抽象方法。 3) 抽象类不能直接创建实例。可以定义引用变量。
  3. 抽象类只能被继承,一个具体类继承一个抽象类,必须实 现所有抽象方法。
  4. 抽象方法和抽象类非常适合作为系统的分析和设计的工具。
    接口:
    1 接口:全部的方法都是抽象方法,全部的属性都是常量。 接口用来表示纯抽象概念,没有任何具体的方法和属性。
    2 不能实例化,可以定义变量。
    3 接口变量可以引用具体实现类的实例。
    4 接口只能被实现(继承),一个具体类实现接口,必须使用全部的 抽象方法。
    5 接口之间可以继承。
    6 一个具体类可以实现多个接口,实现多继承现象,表示:
    7 接口中的属性,默认是常量 public static final
    8 接中的方法一定是:public abstract
    9 实现一个接口,使用关键字implements, 实现实际上是 一种继承关系。接口和实现类是父子类型的关系

Round1:
1、ConcurrentHashMap内部原理?它是如何实现多线程的

2、线程池,线程池里面核心线程数和最大线程数有什么区别
这么比喻吧,核心线程数就像是工厂正式工,最大线程数,就是工厂临时工作量加大,请了一批临时工,临时工加正式工的和就是最大线程数,等这批任务结束后,临时工要辞退的,而正式工会留下。
3、spring和springBoot比较,springboot使用场景

4、springboot的部署如何区分开发环境和生产环境(application.properties)
(对于已上线的版本,如何将生产环境修改成为开发环境)
5、分布式(没用过的话不会细问)
分布式是指将不同的业务分布在不同的地方。(卖火车票的例子~~想想)
Round2:
1、int类型数组,取到两两相加结果等于某给定变量的所有组合方式
直接for循环,说出代码(时间复杂度)
HashMap/HashSet方式(假定数组里面的数值没有重复项)
排序方式
2、volatile关键字

3、序列化/反射
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象
反射是:指程序可以访问、检测和修改它本身状态或行为的一种能力
4、多线程单例(创建一个多线程单例,说出大致代码)
5、针对数据查询量过大进行优化操作

天猫出海穿雪面试:
1、服务器线程还在,但是服务器无响应,你的解决思路?
2、系统设计,架构设计,JVM原理,classloader原理
3、aop的实现原理
4、sevlet实现原理
5、设计模式
6、继承和实现的理解
7、会问一堆事务,数据库对事务的支持让你设计
8、聊业务等
9、写一个方法模拟:一个账户向另一个账户转钱。
10、spring的ioc原理,如果让你自己写一个类似的原理,你怎么写
11、Hadoop,hdfs的高可用等原理
12、
直接用阿里的场景模拟问题,而不是技术的底层提问,考应用,而不是考技术深度(客户注重的还是思维模式和解决问题的思路)

第一问最近的项目设计思路及适用场景
第二问,项目采用soa设计架构所使用的技术
第三问,分布式服务架构框架dubbo的实现原理
第四问,dubbo中采用服务注册发布zookeeper实现原理
第五问,Spring实现原理
第六问,项目中采用消息队列的适用场景
第七问,多线程变成适用场景
第八问,项目中涉及大数据量的处理方式
第九问,大数据量情况下分表操作的设计方式
第十问,针对分表后的数据,如何适应业务需要,如统计,数据浏览等应对策略
智慧建筑面试问题:
1、 arraylist和linkedlist的区别。Linkedlist是双向的吗?
2、 hashmap的原理(先hashcode还是先equal)。
3、 线程的sleep()和wait()的区别(我是结合生产者和消费者问题回答的)。
4、 线程池的原理与使用场景。
5、 Hibernante和mybatis的区别,mybatis的主键回填。
6、 Dubbo的zk集群挂掉,dubbo还能使用吗(PS:dubbo有缓存)。 Zk(dubbo注册中心)
7、 Zk的节点数量为什么是奇数个(考察ZK原理)。
8、 消息中间件RabbitMQ,消息的丢失是怎么处理的,监听器没有收到消息,MQ会丢掉数据吗?MQ会不会将消息缓存到硬盘?
9、 算法,数组排序。
10、 Sql的left join和right join的区别。
11、 Mybatis的join标签好像是,记不太清楚了,考察mybatis标签。
12、Zk分布式锁实现原理。
13、currenthashmap和hashmap 的区别。
14、spring aop 原理。
15、你觉得你最值得骄傲的项目,什么架构。分布式事务方案,怎么解决分布式事务。
(主管偏向于解决实际问题和全局性的掌握~偏架构)

北京六翁面试题

  1. 说下jvm内存结构
  2. 说下Java中的锁
  3. Java垃圾回收机制
  4. 如果让你设计一个垃圾回收器你怎么设计
  5. ConcurrentHashMap原理
  6. TCP/CP模型,五层说下
  7. 对网络编程熟悉吗
  8. Netty保证高性能的原因是什么
  9. 投影仪两道题 1.lamda表达式 2.集合stream cp 的一道题 3.jdk8特性
  10. 多线程用过吗
  11. 客户端发请求到服务器流程
  12. Springboot和spring区别
  13. spring的依赖注入
  14. jdk1.8的strema函数式编程
  15. dubbo的原理结构
  16. 多线程
  17. 线程间通信
  18. Nio bio
  19. Netty的高性能原理
  20. 数据采集的架构设计
  21. 线程和进程的关系
  22. Java的8种数据类型,以及各自的字节数
  23. Redis的数据类型
  24. Redis的底层源码
  25. 操作系统的内存结构
  26. 一个进程种有多个线程,那么内存结构应该是怎样的

骆炅Java面试题
27. 1问的java中都有哪些自带的线程池
28. 2Java中jvm中的垃圾回收机制
29. 3Spring的优点
30. 4hashmap的底层实现和concurrenthashmap的优点
31. 5dubbo的原理和优点

  1. 分布式
  2. dubbo+zookeeper+netty 常考  主要有分布式思想描述 还有dubbo实现的一些原理(比如jdk代理,反射,传输方式(netty NIO)),稍微深入一点可能考到原码级,当然还有zookeeper也很重要,比如里面的分布式锁是如何实现的,它起到的作用
    
  3. 可能会问一些linux命令 常见的 tail grep等等,再难一点就说不知道吧 或者百度一些常见的
  4. Hadoop一套可能问得特别少 如果是生产环境下没有开发过,几乎不问.
  5. 框架阶段
  6. Spring IOC、AOP的概念,原理 比如aop中jdk动态代理和cglib动态代理的区别,最好百度一下
  7. SpringMVC和struts2的区别,以及他们的原理执行流程都可以说说
  8. Mybatis 应该有些面试官也会问到,我没遇到,无非也是一些底层原理(反射加动态代理),还有一些常见标签,动态的,普通标签
  9. 可能问问mvc的思想
  10. Corejava
  11. 最喜欢问的就是 集合,线程,线程池
  12. 集合分为list /set /map
  13. 	其中List 常见linkedList ArrayList vectory
    
  14. 	Set 常见 hashset sortedSet 
    
  15. 	Map 常见hashmap hashtable 
    
  16. 	常考  list 下面几个的区别,或者List和set的区别 及底层数据结构实现,还有hashSet底层如何实现去重(大致:比较hashcode ,如果不同,则不同,如果相同,再比较equals方法)
    
  17. 	还有就是hashmap的实现原理(经常考),底层采用数组加链表实现
    
  18. 	比如put一个元 素,第一次取得他的hash值,作为数组下标 放入对应hash槽,如果槽里为空,直接放进去,不为空,放在槽下面的链表表头 (一个大概的情况,具体再去了解一下)
    
  19. 		还有可能问高并发情况下使用的集合,有了解最好!
    
  20. 	线程,
    
  21. 	jdk中线程有几种使用方式,Thread类,实现runable 接口,实现callable接口
    
  22. 	线程同步的几种方式(差不多七种  ,百度一下,常见下面几种吧。。
    
  23. 		1)Synchronized 关键字 
    
  24. 		2)Lock 
    
  25. 		3)Volite关键字 (这个用挺多的,网上看下原理,到时候主动说一下)
    
  26. 		…….
    
  27. 线程池
  28. 	为什么要用线程池 ,池里几个参数什么意思(比如核心线程数和最大线程数的区别),线程池使用时候不同阶段是什么情况
    
  29. 	深一点可能比较难了,为什么要用线程池,你在哪些地方用到过,常见线程模型有哪些,根据情况看看吧
    
  30. 其它
  31. Jvm调优,主要调哪些主要参数,什么意思,有可能给你个情形问你怎么调参数,
  32. 还有什么时候会有gc ,什么时候会fullGc 基础的记一下,不会的就说不知道
  33. 还有数据库优化 ,比如查询优化等等。还可能问道悲观锁和乐观锁,能看懂就看看,大致讲一下,不懂就说不会
  34. HashMap跟hashTable区别,分布式锁原理,整数数组绝对值排序,hashMap扩容机制,事务传播特性,分布式事物解决方案,悲观锁与乐观锁区别
  35. 你应该知道的JAVA面试题
  36. 原创 2017-08-20 清英 并发编程网
  37. 经常面试一些候选人,整理了下我面试使用的题目,题目很多所以每次会抽一部分来问。答案会在后面的文章中逐渐发布出来。
  38. 基础题目
  39. Java线程的状态
  40. 进程和线程的区别,进程间如何通讯,线程间如何通讯
  41. HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别
  42. Cookie和Session的区别
  43. 索引有什么用?如何建索引?
  44. ArrayList是如何实现的,ArrayList和LinedList的区别?ArrayList如何实现扩容。
  45. equals方法实现
  46. 面向对象
  47. 线程状态,BLOCKED和WAITING有什么区别
  48. JVM如何加载字节码文件
  49. JVM GC,GC算法。
  50. 什么情况会出现Full GC,什么情况会出现yong GC。
  51. JVM内存模型
  52. Java运行时数据区
  53. 事务的实现原理
  54. 技术深度
  55. 有没有看过JDK源码,看过的类实现原理是什么。
  56. HTTP协议
  57. TCP协议
  58. 一致性Hash算法
  59. JVM如何加载字节码文件
  60. 类加载器如何卸载字节码
  61. IO和NIO的区别,NIO优点
  62. Java线程池的实现原理,keepAliveTime等参数的作用。
  63. HTTP连接池实现原理
  64. 数据库连接池实现原理
  65. 数据库的实现原理
  66. 技术框架
  67. 看过哪些开源框架的源码
  68. 为什么要用Redis,Redis有哪些优缺点?Redis如何实现扩容?
  69. Netty是如何使用线程池的,为什么这么使用
  70. 为什么要使用Spring,Spring的优缺点有哪些
  71. Spring的IOC容器初始化流程
  72. Spring的IOC容器实现原理,为什么可以通过byName和ByType找到Bean
  73. Spring AOP实现原理
  74. 消息中间件是如何实现的,技术难点有哪些
  75. 系统架构
  76. 如何搭建一个高可用系统
  77. 哪些设计模式可以增加系统的可扩展性
  78. 介绍设计模式,如模板模式,命令模式,策略模式,适配器模式、桥接模式、装饰模式,观察者模式,状态模式,访问者模式。
  79. 抽象能力,怎么提高研发效率。
  80. 什么是高内聚低耦合,请举例子如何实现
  81. 什么情况用接口,什么情况用消息
  82. 如果AB两个系统互相依赖,如何解除依赖
  83. 如何写一篇设计文档,目录是什么
  84. 什么场景应该拆分系统,什么场景应该合并系统
  85. 系统和模块的区别,分别在什么场景下使用
  86. 分布式系统
  87. 分布式事务,两阶段提交。
  88. 如何实现分布式锁
  89. 如何实现分布式Session
  90. 如何保证消息的一致性
  91. 负载均衡
  92. 正向代理(客户端代理)和反向代理(服务器端代理)
  93. CDN实现原理
  94. 怎么提升系统的QPS和吞吐量
  95. 实战能力
  96. 有没有处理过线上问题?出现内存泄露,CPU利用率标高,应用无响应时如何处理的。
  97. 开发中有没有遇到什么技术问题?如何解决的
  98. 如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能。
  99. 新浪微博是如何实现把微博推给订阅者
  100. Google是如何在一秒内把搜索结果返回给用户的。
  101. 12306网站的订票系统如何实现,如何保证不会票不被超卖。
  102. 如何实现一个秒杀系统,保证只有几位用户能买到某件商品
  103. 软能力
  104. 如何学习一项新技术,比如如何学习Java的,重点学习什么
  105. 有关注哪些新的技术
  106. 工作任务非常多非常杂时如何处理
  107. 项目出现延迟如何处理
  108. 和同事的设计思路不一样怎么处理
  109. 如何保证开发质量
  110. 职业规划是什么?短期,长期目标是什么
  111. 团队的规划是什么
  112. 能介绍下从工作到现在自己的成长在那里
    不繁组颉育帅总结面试题

1.session 和cookie的区别,2
2.集类有哪些,说一说你对hashmap的理解,数据库事物的理解,反向代理的理解

吴嘉豪总结

  1. 分布式用dubbo有没有遇到什么问题
  2. springcloud问了,但是我没用过那个
  3. Dubbo他问的特别恐怖,直接问你对dubbo有多少了解,有多少说多少
  4. 数据结构也有问
  5. Jvm的东西问了一些

不繁组乐得松总结
1.mysql索引有哪几种?索引算法有哪些?
2.mysql数据库锁有哪些,分别解释一下应用场景?
3.dubbo实现原理,有哪些组成部分?
4.悲观锁和乐观锁应用场景分别有哪些?哪种效率高?
5.redis数据淘汰策略?
6.spring aop ioc原理?
7.sql语句性能优化?
8.实现事务的方式有几种?
任建总结

  1. 描述JVM原理

  2. 多线程synchronized用法

  3. 内存溢出

  4. 调优JVM相关参数

  5. HashMap原理,如何实现的

  6. 如何遇防重复提交

  7. 后端怎么做?

  8. 分页处理上亿条数据如何提高速度

  9. 2018.4.12 宇轩Java石惠文总结面试题

  10. 一.SpringMVC 启动加载类的方法有几种

  11. 1、若采用XML来配置init-method

  12. 2、@PostConstruct注解

  13. 二、dubbo原理

  14. 三、最近的一个项目的业务流程与使用到的技术,

  15. 四、对SpringBoot的了解

  16. 五、分布式事务
    菜鸟组总结

  17. 简单做一下自我介绍

  18. 简单介绍一下最近做的这个项目

  19. 说说库存的并发是怎么解决的

  20. 自己搭建过集群的,说说session共享是怎么做的

  21. 你在这个项目中遇到什么问题,是怎么解决的

  22. 熟悉spring吗

  23. Dubbo工作原理了解吗,说一下你对zookper的理解

  24. Spring bean的声明周期

  25. Svn的版本

  26. 多线程高并发

  27. SQL优化,数据库优化,代码优化

  28. Jvm原理

  29. Java集合底层

  30. Redis使用场景、存储类型等等

  31. 简单做一下自我介绍

  32. 简单介绍一下最近做的这个项目

  33. 说说库存的并发是怎么解决的

  34. 自己搭建过集群的,说说session共享是怎么做的

  35. 你在这个项目中遇到什么问题,是怎么解决的

  36. 熟悉spring吗

  37. Dubbo工作原理了解吗,说一下你对zookper的理解

  38. Spring bean的声明周期

  39. Svn的版本

  40. 多线程高并发

  41. SQL优化,数据库优化,代码优化

  42. Jvm原理

  43. Java集合底层

  44. Redis使用场景、存储类型等等

  45. 马来西亚项目初步晒选

  46. 1.数据库量级

  47. 2.数据结构算法

  48. 3.多线程分布式

  49. 李成总结

  50. 1.Hashmap底层实现

  51. 2.限流的做法

  52. 3.Mq的幂等性解决方案

  53. 4.Redis数据库缓存一致性的解决方案

  54. 5.介绍Equals hashcode

  55. 6.用户请求响应慢,你所能想到的优化方案

  56. 7.介绍自己的项目

  57. 魏旭科总结

  58. 你好,

  59. 下面是面试的内容:

  60. 1,自我介绍

  61. 2,项目介绍

  62. 3,项目难点介绍

  63. 4,项目难点攻克方法介绍

  64. 5,数据一致性保障

  65. 6,悲观锁乐观锁介绍

  66. 7,HashMap介绍

  67. 任建总结

  68. String为什么需要hashCode和equals方法

  69. HashMap原理

  70. 先让我说下自己做的项目

  71. 让我些个DRM组件,怎么写

  72. TR服务调用出现问题,怎么排查

  73. 徐思衍总结

  74. jvm内存模型,hashmap

  75. 数据库优化

  76. jvm内存模型,hashmap 数据库优化 dubbo的实现机制 然后就是问你做过的工程

  77. 许硕总结

  78. 1.工作项目介绍

  79. 2.项目分布式怎么升级的

  80. 3.dubbo项目简单的搭建过程

  81. 4.springIOC

  82. 5.事务传播性

  83. 6.redis和数据库的数据一致性

  84. 7.怎么做sql优化的

  85. 8.jvm相关,杂七杂八的(volatile 原理,static属性放到哪里,垃圾回收机制,幂等性之类的)

  86. 9.线程池

  87. 10.spring依赖注入的方式,springIOC自动装配有那集中方法

  88. 11.分布式事务大概思路

  89. 12.cocurrenthashmap如何实现高并发的

  90. 13.开发报表系统是sql怎么优化的

  91. 分布式dubbo+zookeeper+netty 常考 主要有分布式思想描述 还有dubbo实现的一些原理(比如jdk代理,反射,传输方式(netty NIO)),稍微深入一点可能考到原码级,当然还有zookeeper也很重要,比如里面的分布式锁是如何实现的,它起到的作用可能会问一些linux命令 常见的 tail grep等等,再难一点就说不知道吧 或者百度一些常见的Hadoop一套可能问得特别少 如果是生产环境下没有开发过,几乎不问.

  92. 框架阶段
    Spring IOC、AOP的概念,原理 比如aop中jdk动态代理和cglib动态代理的区别,最好百度一下
    SpringMVC和struts2的区别,以及他们的原理执行流程都可以说说
    Mybatis 应该有些面试官也会问到,我没遇到,无非也是一些底层原理(反射加动态代理),还有一些常见标签,动态的,普通标签
    可能问问mvc的思想

  93. Corejava
    最喜欢问的就是 集合,线程,线程池集合分为list /set /map 其中List 常见linkedList ArrayList vectory,Set 常见 hashset sortedSet ,Map 常见hashmap hashtable 。常考 list 下面几个的区别,或者List和set的区别 及底层数据结构实现,还有hashSet底层如何实现去重(大致:比较hashcode ,如果不同,则不同,如果相同,再比较equals方法),还有就是hashmap的实现原理(经常考),底层采用数组加链表实现
    比如put一个元素,第一次取得他的hash值,作为数组下标 放入对应hash槽,如果槽里为空,直接放进去,不为空,放在槽下面的链表表头 (一个大概的情况,具体再去了解一下)
    还有可能问高并发情况下使用的集合,有了解最好!线程,
    jdk中线程有几种使用方式,Thread类,实现runable 接口,实现callable接口,线程同步的几种方式(差不多七种 ,百度一下,常见下面几种吧。。
    1)Synchronized 关键字
    2)Lock
    3) Volite关键字 (这个用挺多的,网上看下原理,到时候主动说一下)
    线程池
    为什么要用线程池 ,池里几个参数什么意思(比如核心线程数和最大线程数的区别),线程池使用时候不同阶段是什么情况,深一点可能比较难了,为什么要用线程池,你在哪些地方用到过,常见线程模型有哪些,根据情况看看吧
    其它
    Jvm调优,主要调哪些主要参数,什么意思,有可能给你个情形问你怎么调参数,
    还有什么时候会有gc ,什么时候会fullGc 基础的记一下,不会的就说不知道,还有数据库优化 ,比如查询优化等等。还可能问道悲观锁和乐观锁,能看懂就看看,大致讲一下,不懂就说不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值