• 阿里面试题


    本文搜集来自网络:http://www.hollischuang.com/archives/4856

    第一次技术面(60min)

    1. 说一说你使用的是什么样的线程池,自定义线程池的几个参数是什么
    2. 说一说线程池的执行流程
    3. 你的项目中定义的核心线程数、最大线程数和队列大小是如何定义的?为什么这样定义?(这道题根绝我导师给我说是一个加分项)
    4. 在项目中如何防止超卖现象
    5. 你的下订单的sql语句如何编写的?(考察MySQL的乐观锁)
    6. 如果有用户反馈说整个系统的反馈比较慢,你是如何排查和如何解决问题的?
    7. 影响系统响应慢的原因有哪些?
    8. 算法题:给定一个无序数组和一个目标值,找出数组中两个数之和等于目标值的所有组合,并指出其时间复杂度。(很简单的一个算法题,leetcode easy难度)
    9. 了解过JVM内存模型么?说说哪些是线程独享、哪些是线程共享的?
    10. 详细说一下Java堆的分区,他们的比例,以及如果把比例调大以后会有什么样的后果?
    11. 说一下JVM的GC算法,以及为什么“标记-整理”法更好一些,他能解决什么样的问题?
    12. 了解过Java类加载机制么?一共有哪几种类加载器?
    13. 如果你想查看线上正在运行的服务的GC日志,你需要输入什么指令?
    14. 了解过HashMap么,说一下HashMap的原理。
    15. 如果两个对象hashCode相同,则一定是相同对象么,如果是两个相等的对象,那么他们的hashCode相同么?
    16. 如何解决hash冲突?
    17. HashMap是线程安全的么,如何把HashMap变成线程安全的类?
    18. 说一说MySQL数据库有哪些数据库引擎?
    19. InnoDB的索引的数据结构是什么,说一说他的原理
    20. 数据库事务等级以及他们解决了什么问题,请举例说明一下
    21. MySQL默认的事务等级是什么?
    22. MySQL如何开启慢查询?
    23. 说一下Spring主要包含哪些模块?
    24. 说一下你对Spring的IOC容器的理解以及启动流程
    25. 有了解过RPC框架或分布式的东西么?(这个后来问面试官,就是考察对新技术的了解以及对互联网发展的一个关注度)
    26. 说一下你读过的有关Java的书籍

    第二次技术面(30min)

    1. 介绍一下你做的项目中你觉得最好的那个;说一下你这个项目中的技术难点和挑战。
    2. 如何解决商城项目中出现的超卖、少卖问题?
    3. 说一下什么是幂等性
    4. Redis如何保证高可用的
    5. Redis的哨兵模式知道吗?
    6. 你用Redis觉得有什么缺点吗?
    7. 你是如何做压力测试的?压力测试的数据是什么?
    8. 线城池有哪些参数?
    9. 核心线程数和最大线程数有什么区别?
    10. 常见的拒绝策略有哪些?
    11. 介绍一下SpringBoot的特性
    12. 说一下什么是单例模式
    13. 什么是饿汉模式、懒汉模式
    14. 使用懒汉模式的注意事项以及如何解决
    15. 说一下volatile关键字的作用和原理
    16. 说一下自旋锁和一些常见的自旋锁的实现
    17. 说一下数据库的左外连接
    18. 数据库索引优化
    19. 数据库索引的数据结构

    第三次技术面(25min)

    1. 如何解决商城项目中出现的超卖、少卖问题?
    2. 在开发项目中,遇到了那些问题?
    3. Redis与数据库同步时候出现问题是如何解决的
    4. 说一下Java当中线程有哪些状态
    5. 线程的阻塞和等待有什么区别
    6. 介绍一些Java的锁机制
    7. 你了解过哪些锁的类型
    8. 为什么waitnotify这个方法会在Object这个类下面
    9. 分布式、RPC框架有了解过吗
    10. Redis的线程模型是什么(考察NIO)
    11. Redis实现的消息队列是如何保证消息不丢
    12. 介绍一下堆排序是如何实现的
    13. 介绍一下TCP/IP协议是如何保证消息可靠传输的
    14. TCP/IP协议做了什么优化(拥塞控制和流量控制)

    第四次技术面(15min)

    1. 说一下你投稿的文章写得是什么内容
    2. 介绍一下消息队列
    3. 超卖是如何解决的?
    4. 下单过程是如何设计的?
    5. 介绍一下雪花算法
    6. 你怎么理解分布式?
    7. 分布式之间怎么通信?
    8. 生产者、消费者模型是怎么工作的?
    9. Java里面创建线程的方式
    10. 代码场景:给一个字符串,统计每个大写字母出现的次数,按着次数排序,从小到大输出字母和其出现的次数

    交叉面试(30min)

    1. 你在学校学习过程中,哪些可能成绩更好一些以及为什么这些课程成绩更好一些
    2. 你学习Java多长时间了
    3. 你是如何学习Java的?
    4. 你看过哪些开源框架源码?
    5. 你是怎么看开源框架源码的?
    6. 介绍一个你参与较多或者比较有难度的项目
    7. 你们团队开发项目的时候有没有大家一起解决的某些技术问题
    8. 你们做的这个项目有没有借鉴过其他已经成熟的项目
    9. 说一下你们项目的要求和指标大概是多少
    10. 你们项目中的线程池队列容量是如何确定的
    11. 项目中的某些解决方案是个人想出来的还是团队讨论的结果
    12. 如果再让你做一个商城系统,你会做哪些技术选型
    13. 项目中做过哪些安全方面的措施
    14. 你会如何设计一个淘宝会员系统?
    15. 你未来的发展方向是什么?

    收集于网络   https://www.jianshu.com/p/5fe981fd4ab9

    阿里一面:

    • 自我介绍、自己做的项目和技术领域
    • 说一下sync的底层实现,锁优化,和lock的对比
    • 讲一下JVM参数调优详细过程
    • 为什么这么设置?好处是什么?描述gc场景,如何去分析gc日志?
    • redis数据结构,使用场景,微博场景使用redis如何去设计用户关系?
    • 线程池参数设定,为什么这么设定,作用?7大参数
    • spring的循环依赖如何解决?为什么要三级缓存?
    • 优先级队列的底层原理?

    阿里二面:

    • 自我介绍一下吧
    • 聊项目
    • 结合你项目问你如何设计,提出漏洞,你怎么解决?如何改进,万一挂了?加一台机器有没有问题?如果我非要不出问题怎么办?
    • 高并发下单扣库存场景如何设计
    • rocketMQ架构设计原理
    • Dubbo框架实现原理
    • 最近读了什么书?平时怎么学习?
    • 常用的负载均衡,该怎么用,你能说下吗?

    阿里三面:

    • 这一面主要问项目,给你的压力感比较强
    • 结合项目问,为什么这么设计?让你去优化,你怎么优化,引导你用一个合理的更好的方式去优化,数据库的设计等
    • 在公司做了什么事情,各个系统业务线都是做什么的,你的绩效,手写算法链表反转?

    阿里四面:

    • JVM的主要组成部分及其作用?
    • JVM运行时数据区包含哪些?
    • JVM垃圾回收机制,何时触发MinorGC等操作
    • JVM的垃圾回收算法:
    • JVM 调优的工具?
    • 常用的JVM调优参数?
    • 堆栈的区别?
    • 详细介绍一下 CMS 垃圾回收器?
    • 怎么判断对象是否可以被回收?
    • 新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?
    • java类加载过程?
    • 把你知道的中间件都说一下吧(瞬间懵了一下)

    HR面:

    • 为什么来阿里?
    • 之前没考虑过阿里吗?
    • 毕业这么久了,你觉得自己最大的改变是什么?
    • 用一句话总结一下自己



  • 相关阅读:
    虚拟机VMware 8安装Linux系统详细过程图解
    NSMutableArray 对象的一些方法
    NSString类中 哦见过的方法
    c语言的 地址运算符 & 和 指针运算符* 的区别
    const 静态的变量
    float scale = [[UIScreen mainScreen] scale]
    core Data 中 TIMESTAMP 类型
    NSPredicate
    xcode中解决 nslog 控制台 显示不出来
    按字符串读取文件内容NSString stringWithContentsOfFile: (NSString类方法)
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/12995764.html
Copyright © 2020-2023  润新知