阿里云弹性计算部门Java提前批二面面经

一面

电话面(50min)

实习

  1. 问之前的实习经历,在实习中遇到的挑战和困难,怎么解决的
  2. 聊到MySQL的分表分库,讨论一下
  3. docker容器技术的原理(这里只是简单答了下namespace和cgroup,没有深入问)

Redis

  1. 简历里提到Redis,聊聊怎么使用的,为什么选择用Redis
  2. 切片集群和哨兵集群的区别
  3. 主从切换的过程,哨兵选举过程
  4. Redis数据持久化,RDB和AOF的区别

Java

  1. Java内存模型(JMM)
  2. Java内存区域有哪些,堆和栈的区别,什么情况会导致栈内存溢出
  3. 引出可见性问题,列举一个可见性导致线程不安全的场景
  4. 聊一聊Java垃圾回收(答了常见的垃圾回收算法,分代理论)
  5. 不可以分代可不可以,聊一聊看法
  6. volatile关键字,既然volatile关键字可以解决可见性,为什么不所有变量都使用

MySQL

  1. 说一说平时MySQL查询的调优思路(回答explain查看查询日志,看是否命中索引)
  2. 聊一聊设计索引时需要注意些什么(回答索引的数据结构B+树,字段区别度要大,最左匹配原侧)
  3. 说说B+树,为什么选择B+树做索引

计网

  1. 说说网络分层
  2. TCP属于哪层协议,TCP如何保证的可靠性,为什么进行3次握手
  3. HTTP属于哪层协议,应用层应用到UDP传输的协议有哪些(回答DNS)
  4. 详细说说DNS工作过程(如何通过hostname查询对应IP)

笔试(45min)

电话面结束后就是笔试,笔试地址直接发邮箱,用阿里自己的答题系统
题目1: 给定任意一个二叉树,计算这个树的最大深度。(递归和非递归实现)
题目2: 一台火星探索车一个地面指挥台,面向对象设计考虑 地面指挥台向火星探索车发送 移动,拍照等多个指令。
  要求1、面向对象建模,
  要求2、用命令模式
  要求3、指令状态并发控制或者同步交互考虑额外加分。

总结

面试来的很突然,并没有提前约面试时间,全程在走廊游走。题目2不会,按自己思路写的,不知道什么是命令模式,好好复习设计模式,许愿下一面~

二面(1h15min)

电话面

  1. 如何解决MySQL分区表跨表查询
  2. 存储引擎InnoDB和MyISAM的主要区别
  3. B+树索引命中流程,磁盘I/O次数,最多几次I/O
  4. SQL语句的执行过程
  5. ConcurrentHashMap原理
  6. Ping命令的请求过程

算法

  1. 剪绳子1
  2. 一个大小为n的数组,一定存在重复元素,利用O(1)的空间复杂度和O(n)的时间复杂度找出其中一个重复值
  3. 大文件排序
  4. 打家劫舍(头尾不相连 + 头尾相连)

闲聊

  • 成绩+奖学金+课程+看书+职业规划

总结

  • 好好复习算法,许愿下一面~
#阿里云春招##实习##面经##笔经##Java##校招##阿里云##Java工程师#
全部评论
惊了 第二题都没见过,等一个后续
点赞 回复 分享
发布于 2021-03-01 22:18
大佬666
点赞 回复 分享
发布于 2021-03-01 22:43
楼主要不要试一下我们部门呀~
点赞 回复 分享
发布于 2021-03-02 10:44
楼主也可以来我们这里试试哈,提前预约时间,面试体验比较好哦
点赞 回复 分享
发布于 2021-03-02 14:53

相关推荐

点赞 评论 收藏
分享
7 66 评论
分享
牛客网
牛客企业服务