对标一线名企年薪“50W”+的面试集锦,你想进阿里吗?

364 阅读4分钟

前言

经历大半年准备,以及7轮面试终于进入阿里的阿里云企业,既然已经进入梦想的阿里企业现在就把之前准备大半年的面试题以及面试官问的面试题分享出来给想进入阿里的朋友们,希望对你们有帮助。

部分面试题:

  1. 可重入锁中对应的wait和notify
  2. redis能把内存空间交换进磁盘中吗(这个应该是可以的,但是那个面试官非跟我说不可以)
  3. java线程池中基于缓存和基于定长的两种线程池,当请求太多时分别是如何处理的?定长的事用的队列,如果队列也满了呢?交换进磁盘?基于缓存的线程池解决方法呢?
  4. synchronized加在方法上用的什么锁
  5. 可重入锁中的lock和trylock的区别
  6. innodb对一行数据的读会枷锁吗?不枷锁,读实际读的是副本
  7. redis做缓存是分布式存的?不同的服务器上存的数据是否重复?guava cache呢?是否重复?不同的机器存的数据不同
  8. 用awk统计一个ip文件中top10
  9. 对表做统计时可直接看schema info信息,即查看表的系统信息
  10. mysql目前用的版本
  11. 公司经验丰富的人给了什么帮助?(一般boss面会问这些)
  12. 自己相对于一样的应届生有什么优势
  13. 自己的好的总结习惯给自己今后的工作带了什么帮助,举例为证
  14. 原子类,线程安全的对象,异常的处理方式
  15. 4亿个int数,如何找出重复的数(用hash方法,建一个2的32次方个bit的hash数组,每取一个int数,可hash下2的32次方找到它在hash数组中的位置,然后将bit置1表示已存在)
  16. 4亿个url,找出其中重复的(考虑内存不够,通过hash算法,将url分配到1000个文件中,不同的文件间肯定就不会重复了,再分别找出重复的)
  17. 有1万个数组,每个数组有1000个整数,每个数组都是降序的,从中找出最大的N个数,N<1000
  18. LinkedHashmap的底层实现
  19. 类序列化时类的版本号的用途,如果没有指定一个版本号,系统是怎么处理的?如果加了字段会怎么样?
  20. Override和Overload的区别,分别用在什么场景
  21. java的反射是如何实现的

  22. 门面模式,类图(外观模式)
  23. mybatis如何映射表结构
  24. 二叉树遍历
  25. 主从复制
  26. mysql引擎区别
  27. 静态内部类加载到了哪个区?方法区
  28. class文件编译后加载到了哪
  29. web的http请求如何整体响应时间变长导致处理的请求数变少,该如何处理?用队列,当处理不了那么多http请求时将请求放到队列
  30. 中慢慢处理,web如何实现队列
  31. 线程安全的单例模式
  32. 快速排序性能考虑
  33. volatile关键字用法
  34. 求表的size,或做数据统计可用什么存储引擎
  35. 读多写少可用什么引擎
  36. 假如要统计多个表应该用什么引擎
  37. concurrenhashmap求size是如何加锁的,如果刚求完一段后这段发生了变化该如何处理
  38. 1000个苹果放10个篮子,怎么放,能让我拿到所有可能的个数
  39. 可重入的读写锁,可重入是如何实现的?
  40. 是否用过NIO
  41. java的concurrent包用过没
  42. sting s=new string("abc")分别在堆栈上新建了哪些对象
  43. java虚拟机的区域分配,各区分别存什么
  44. 分布式事务(JTA)
  45. threadlocal使用时注意的问题(ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而Synchronized却正好相反,它用于在多个线程间通信时能够获得数据共享)
  46. java有哪些容器(集合,tomcat也是一种容器)
  47. 二分查找算法
  48. myisam的优点,和innodb的区别
  49. redis能存哪些类型
  50. http协议格式,get和post的区别

  

喜欢的给个赞,谢谢!欢迎评论分享经验