三次阿里二面挂,Java+并发+JVM+网络+数据库+算法,我还能说啥?

这次要和大家分享的是我的三次阿里面经,都是二面就凉凉(伤心欲绝~),全部都是Java开发岗,下面就把这三次面试总结在一起,涉及Java+并发+JVM+网络+数据库+算法+框架+数据结构等方面,总共是投了以下三个阿里岗位...

  1. 阿里 - 业务平台事业部(会员中台)- Java开发(一面挂)
  2. 阿里 - 新零售技术事业群(业务平台事业部)- Java开发
  3. 阿里 - 供应链平台事业部 - Java开发

image

 

Java

  • 重写hashcode()是否需要重写equals(),不重写会有什么后果
  • HashMap底层实现和扩容机制
  • 讲一下volatile
  • volatile底层实现
  • static修饰用法和区别

框架

  • 用过哪些Java开源框架
  • 讲一讲对Spring的理解
  • 看过IOC和AOP的源码吗
  • 它们底层是如何实现的
  • 用过其他什么框架
  • 了解过分布式或者微服务的开源框架吗
  • 讲一讲对分布式系统模型的理解
  • 分布式系统中有一个节点宕机怎么办
  • 分布式系统如何实现负载均衡
  • 讲一下IOC
  • 对SpringBoot的理解
  • Mybatis中#和$的区别

并发

  • 自旋锁和阻塞锁的区别
  • 公平锁和非公平锁的区别
  • jdk中哪种数据结构或工具可以实现当多个线程到达某个状态时执行一段代码
  • 栅栏和闭锁的区别
  • 如何使用信号量实现上述情况

image

 

JVM

  • 新生代和年老代的GC算法分别是什么?
  • 标记清除和标记整理的区别
  • 了解过CMS收集器嘛
  • 讲一下GC算法
  • JVM内存空间

网络

  • 解释HTTPs
  • HTTPs为什么要用对称加密+非对称加密,相对于只使用非对称加密有什么好处
  • 为什么要三次握手
  • 二次握手有什么问题
  • 三次握手有哪些缺陷
  • TCP是如何控制流量的
  • 发送方发送频率过高造成丢包,TCP是如何解决的
  • 讲一下OSI网络架构
  • HTTP在哪一层
  • HTTP报文结构
  • HTTP首部字段
  • HTTPs加密在哪一层实现

数据库

  • 给定一个表,其中有三列(员工名称,工资,部门号),找出每个部门工资最高的员工
  • MySQL和Oracle数据库有哪些不同
  • 数据库有哪些锁
  • 表锁和行锁的区别
  • 哪些场景需要加表锁
  • 插入一条数据需要加什么锁
  • 分布式数据库如何保证数据可靠性
  • 了解过MySQL的主从复制吗
  • 讲一下三范式
  • InnoDB和MyISAM的区别

算法和数据结构

  • LeetCode 863 二叉树中所有距离为K的结点
  • Leetcode 206 链表反转
  • Leetcode 2 链表相加
  • InnoDB和MyISAM的区别
  • 讲一下红黑树
  • 红黑节点的个数
  • 红黑树的插入删除查询时间复杂度
  • 讲一下B+树
  • B+树的插入删除查询时间复杂度
  • 讲一下堆的性质及应用场景
  • 建堆时间复杂度
  • 各种排序算法的时间复杂度及稳定性

最后总结

三次阿里全部二面挂,说不伤心那是假的(躲被子哭唧唧~~),为此下定决心回家好好学习,决定重新“做人”。

首先,我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份我的阿里之路PDF文档,可以免费分享给有兴趣的朋友们

其次,还整理了更多我的复习资料(搜集了好几个月呢~)分享出来跟大家一起学习,希望大家不要像我一样三次拜倒在阿里三面~

  • 第一个要分享给大家的就是算法和数据结构

算法和数据结构

 

  • 第二个就是数据库的高频知识点与性能优化
  • 第三个则是并发编程(72个知识点学习)

并发编程

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java是一种广泛使用的面向对象编程语言,具有跨平台特性,可以在不同的操作系统上运行。它是一种高级语言,比较易于学习和使用。 JVMJava虚拟机)是Java程序的执行环境,它将Java字节码转换为机器码,并负责运行和管理Java应用程序。JVM的主要功能包括内存管理、垃圾回收、线程管理和安全控制。通过JVMJava程序可以在不同的操作系统上运行,实现了"一次编写,到处运行"。 XSS(跨站脚本攻击)是一种常见的安全漏洞,攻击者通过在网页中插入恶意脚本,以获取用户的敏感信息或进行恶意操作。Java可以通过一些安全机制来防范XSS攻击,比如对用户输入进行良好的过滤和验证,禁止直接在页面上执行用户输入的脚本,使用安全的编码方式等。 在Java中,可以使用一些安全框架和技术来防范XSS攻击,比如使用Web Application Firewall(WAF)来过滤恶意脚本,使用XSS过滤器对用户输入的数据进行过滤和转义,使用安全的输出方式来输出用户数据,如使用JSTL的<c:out>标签等。 此外,使用合适的编程实践和安全规范也是防范XSS攻击的重要措施。比如不信任用户输入,对用户输入的数据进行验证和过滤,使用安全的API和函数来处理用户数据,禁止直接拼接用户输入的字符串等。 总之,Java是一种强大的编程语言,通过JVM可以实现跨平台的部署,同时可以使用一些安全机制和编程实践来防范XSS攻击,保护用户的隐私和安全。对于开发人员来,了解和应用这些安全技术和措施是很重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值