一面

  • 介绍项目,主要介绍在微软的实习,要注意项目讲得对方能理解
  • 10亿条文件排序,外部归并,merge时堆内部排序
  • 一堆运动员的成绩排序,如a:10,b:20,c:5,排序并保证新来的一个运动员也是有序的 用treemap, map底层怎么实现的,哈希表或红黑树
  • 白板写代码:
//假设用一组字符串表示一个目录下的层级结构:
//  如"dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile2.ext"
//表示的结构为
// dir
//    subdir1
//        file1.ext
//        subsubdir1
//    subdir2
//        subsubdir2
//            file2.ext
} import java.util.ArrayList;
import java.util.List;public class Main {class Value{public int i = 15;}public static void main(String[] args) {System.out.println(getLargestLength("dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile2.ext"));}public static int getLargestLength(String str){int max = 0;if(str == null || str.length() == 0){return max;}String arr []  = str.split("\n");if(arr[0].contains("\t"))return -1;List<Integer> dirLength = new ArrayList<>();dirLength.add(arr[0].length());max = arr[0].length();for (int i = 1; i < arr.length; i++){int length = arr[i].replaceAll("\t", "").length();int count = arr[i].length() - length;if (dirLength.size() < count) {//输入欠缺中间目录return -1;} else if (count == 0) {//新的根目录dirLength = null;} else {dirLength = dirLength.subList(0, count);}dirLength.add(length + dirLength.get(count - 1));if (dirLength.get(count) > max){max = dirLength.get(count);}}return max;}
}

二面

  • 介绍项目

  • 给一个二维数组代表会议室的预定时间区间,比如[1,2],[2,3],[1,3],则最少需要的会议室的数量为2

    • 贪心 转换为一个会议室利用率最高的问题,对开始时间排序,选择下一个开始时间离结束时间最近的
  • 数学题,给1-5五个数字,全排列,[12345,12354,…,54312,54321],求中间两个数的差值

  • hiveql和sql是一样的么?不一样,举例说明,并说明理由

  • hiveql数据表的join,map reduce的过程?

  • 给一个整数数组[x1,x2…xi,…xn],求X+Y+Z<N的所有可能性,不能重复

    • 3sum 的变体,先排序,外层循环,内层两个指针判断,如果和> N-Z,则尾指针前移
  • HTTP怎么做到有状态?

    • 我们要实现的是一种web应用,实现这种应用的协议我们选择了http这种本质上是无状态的通信协议。但是事实上,我们需要我们的web应用是有状态的。所以我们加入了cookies、session等机制去实现由状态的web应用
    • Web应用=http协议+session、cookies等状态机制+其他辅助的机制
  • MySQL数据库引擎,innoDB的特点?别的引擎?

    • InnoDB:该存储引擎为MySQL表提供了ACID事务支持、系统崩溃修复能力和多版本并发控制(即MVCC Multi-Version Concurrency Control)的行级锁;该引擎支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空则自动从现有值开始增值,如果有但是比现在的还大,则直接保存这个值; 该引擎存储引擎支持外键(foreign key),外键所在的表称为子表而所依赖的表称为父表。该引擎在5.5后的MySQL数据库中为默认存储引擎。
    • ISAM:该引擎在读取数据方面速度很快,而且不占用大量的内存和存储资源;但是ISAM不支持事务处理、不支持外来键、不能够容错、也不支持索引。该引擎在包括MySQL 5.1及其以上版本的数据库中不再支持。
    • MyISAM:该引擎基于ISAM数据库引擎,除了提供ISAM里所没有的索引和字段管理等大量功能,MyISAM还使用一种表格锁定的机制来优化多个并发的读写操作,但是需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMChk工具和用来恢复浪费空间的 MyISAMPack工具。MyISAM强调了快速读取操作,主要用于高负载的select,这可能也是MySQL深受Web开发的主要原因:在Web开发中进行的大量数据操作都是读取操作,所以大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider,IPP)只允许使用MyISAM格式。
    • HEAP(也称为MEMORY):该存储引擎通过在内存中创建临时表来存储数据。每个基于该存储引擎的表实际对应一个磁盘文件,该文件的文件名和表名是相同的,类型为.frm。该磁盘文件只存储表的结构,而其数据存储在内存中,所以使用该种引擎的表拥有极高的插入、更新和查询效率。这种存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,但也可以使用B树型索引。由于这种存储引擎所存储的数据保存在内存中,所以其保存的数据具有不稳定性,比如如果mysqld进程发生异常、重启或计算机关机等等都会造成这些数据的消失,所以这种存储引擎中的表的生命周期很短,一般只使用一次
    • CSV(Comma-Separated Values逗号分隔值):使用该引擎的MySQL数据库表会在MySQL安装目录data文件夹中的和该表所在数据库名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型的文件当做表进行处理),这种文件是一种普通文本文件,每个数据行占用一个文本行。该种类型的存储引擎不支持索引,即使用该种类型的表没有主键列;另外也不允许表中的字段为null
  • 小英的用户数据一台机器放不下的时候,怎么办?

蚂蚁金服Java暑期面试相关推荐

  1. 阿里、腾讯、蚂蚁金服Java技术面试及经验总结(文末分享答案)

    在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...

  2. 阿里、腾讯、蚂蚁金服Java技术面试及经验总结

    在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...

  3. 2021 阿里巴巴和蚂蚁金服 Java实习生 面试经验贴(重要!!!)

    最近面了蚂蚁金服集团的Java实习生,遗憾的是在第三面的时候挂了,不过还是希望能在此博客跟更多人分享我的经验,跟大家一起成长! 由于论文未按照我原本的计划投出去,备战实习的时间被耽搁了,于是乎,从今年 ...

  4. 2019社招阿里、腾讯、蚂蚁金服Java面试真题

    在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...

  5. java内存shell_2019蚂蚁金服Java后端三面,详述程序员必须掌握的架构底层原理

    前面的话 告别了2018 ,也早已正式进入2019 面试一直都是大家关注的热门话题,俗话说"金三银四",如今已经是三月份了,如果你打算在年后跳槽,那么是时候该着手准备了 很多Jav ...

  6. 2022最新蚂蚁金服Java岗面试题库(整理版)

    前言 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目.笔者面的是阿里的Java研发工程师岗,面试流程是4轮技术面+1轮hr. 蚂蚁金服关于spring部分面试问题: 1.Spring ...

  7. 拼多多、饿了么、蚂蚁金服Java面试题大集

    自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...

  8. 蚂蚁金服—JAVA实现全排列

    分享一道蚂蚁金服JAVA实现全排列的代码 在这里插入代码片 package com.lyz.dataStructure.LeetCode;import java.util.List; import j ...

  9. 大牛分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典!

    超级大牛经验分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典! 干货奉上,不喜勿喷: 一.源码阅读 1.常用设计模式 2.Spring 5 源码 3.MyBatis源码 二.分布式架构总纲 ...

最新文章

  1. 重新想象 Windows 8 Store Apps (10) - 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom...
  2. Laravel 5.2问题-----postman进api的post请求,为什么出现Forbidden?
  3. 每天一道LeetCode-----寻找二叉搜索树中第k小的元素
  4. C#操作静态路由表(增、删、改、查、遍历)
  5. AAAI 2020 | GlobalTrack:简单又强大!视频长期目标跟踪新基线
  6. docker容器打包成镜像
  7. 2019美赛B题PSO算法
  8. 数论入门符号_大o符号快速入门
  9. 帅某---FPGA---黑金
  10. 电阻参数_电阻的基础知识和参数介绍
  11. 创建AWS VPC Peering
  12. windows下CoffeeScript 的实现
  13. 使用python操作新浪微博和一些想法
  14. 一些关于罗马字符的知识
  15. RxSwift学习(四)--- RxSwift 高阶函数
  16. 【Python 字符视频】Python 实现将抖音视频转换成字符视频
  17. python polygon_python – Polygon.contains和Polygon.within有什么区别?
  18. The Legend of 1900
  19. 苹果 iOS 14.2 Beta 2发布!还是会闪退?
  20. 二进制转十进制 8421运算法

热门文章

  1. 水果千禧果/圣女果/小番茄发圈文案,配水果千禧果/圣女果/小番茄的朋友圈文案
  2. 读书笔记-柒-《腾讯网UED体验设计之旅》
  3. 对 Vue-SSR的理解和使用场景
  4. python量化实战_Python量化交易实战
  5. jmeter阶梯式加压(逐渐加压和降压)
  6. 查看文件时去除注释说明内容(原创贴-转载请注明出处)
  7. 如何安全升级 TiDB
  8. OpenGL 2D贴图texture与着色器Shader
  9. MFC WebBrowser获取网面完整源码 WebBrowser获取网面完整HTML
  10. [转]ActiveX控件去除IE警告框的方法