分享一波阿里天猫超市一面到hr面的面经,觉得自己还是蛮幸运的。本人广东双非大学本科生。

一面(35分钟)

一面都是聊项目,聊了半个小时,主要包括这几个问题:

1、项目介绍

2、项目中如何对数据库进行优化

3、项目中的难点

4、你在项目中充当的角色

和面试官聊了35分钟,大部分时间是我在介绍,我把项目中自己负责的部分很详细地说了出来。面试官很友好,对我给予了肯定,直接和我说通过了一面。两个小时后就约二面面试时间了......

二面(63分钟)

1、自我介绍

2、分别介绍一下你的几个项目

3、你觉得哪个项目让你印象最深刻?

4、项目中一些关于 geohash 的问题

5、分库分表的依据是什么?有用什么工具吗?

6、线程的几种状态?

7、wait和sleep分别属于哪个类的方法

8、lock和synchronized的区别是什么

9、什么情况下适合用偏向锁?

10、BIO和NIO的区别是什么?分别适合于什么场景?

11、select 和 epoll的区别

12、说一下你知道的Http的请求头和返回码

13、String s = new String("abc") 产生了几个对象?分别放在哪里?

14、上面那行代码在JDK1.8前后存放的区域有什么不同?

15、平时有用什么工具观察过虚拟机的内存情况吗?

16、平时怎么学习的?有没有关注什么博客和论坛?

17、有什么问题?

二面感觉自己表现一般般,聊了63分钟,也不知道自己有没有过,不过全程和面试官的讨论很多,有些问题回答的不够好面试官会给我提出建议。很幸运,两天后的晚上接到了电话,因为那天是星期天所以很意外。那个时候刚好在路边散步,突然接到电话一脸懵逼,脑子一热就直接在路边找个地方开干了......

三面(78分钟)

1、自我介绍

2、项目中你对数据库做了什么优化?

3、对数据分库分表了吗?用什么算法进行分库分表。。。

4、项目问题......

5、项目中你是根据什么来进行索引的设计的?

6、项目中把数据放到HBase上面,你rowkey是如何设计让数据均匀分布在RegionServer上的?

7、一次请求的速度大概是多少?有考虑到做其它的优化吗?(缓存)

8、说一下索引的原理

9、知道MySQL插入和查询分别用的是什么锁吗?

10、知道悲观锁吗?了解多少?

11、对并发的知识了解多少?

12、说一下synchronized的优点和缺点,与lock进行比较

13、说一下ReetrantLock的内部实现

14、对多线程这一块了解多吗?(我说了解一点,不是很多)他说:那好那问点别的

15、说一下ArrayList和LinkedList的区别

16、为什么ArrayList的查询时间复杂度为O(1)?为什么数组查询可以到O(1)?

17、说一下你对HashMap的理解?说完......put操作的流程大概是怎样的呢?

18、现在有一亿条数据,要求你利用HashMap对数据进行去重并排序,你会怎么做?

19、多线程这一块你真的不了解吗?(???他想干嘛,然后我把我知道的说了出来,包括实现的几种方式,线程池这些)

20、线程池当队列中的任务都执行完毕之后会对线程进行怎样的操作?

21、多线程是不是肯定比单线程好?

22、什么样的任务适合用多线程什么适合单线程?

23、单CPU的情况下适合用多线程吗?

24、我看你里面很多奖项,挑一个跟我讲一讲吧

25、有什么问题吗?

结果在路边站了78分钟,面完喉咙都哑了,心脏跳得贼快,刚开始因为紧张讲话支支吾吾,后面就好一些了。整个过程感觉这个面试官问的很仔细,对项目的细节问的很深,自己感觉也是一般般,就是那种好像可以过又好像不可以过的感觉......

两天后,hr打电话来了......约视频面试

本以为技术面已经结束了,结果是自己想多了。视频面是技术专家大佬和hr小姐姐两个人一起面试

技术专家面(45分钟)

主要是针对项目然后提出一些开放性的问题让你提出解决思路

技术专家:

2、你在工作室项目中的主要工作?

3、项目的架构是怎样的?

4、如果现在让你在广州市投放出租车,你觉得出租车的数量会由什么因素来决定?

5、设计一个打车算法

6、讲一下数据库索引的原理

7、数据分表你是按照什么来划分的?有用到什么中间件吗?

8、快排的实现原理是什么?

9、了解堆排序吗,为什么堆排序的空间复杂度是O(1)?

hr面

10、刚才的交流过程中有些东西可能你没有完全给我们展示出来,现在给你一点时间再让我们多了解你一点

11、你平时有什么爱好吗?

12、你平时的生活情况是怎样的?你和团队中的人是如何相处的?

13、你平时是通过什么方式学习的?

14、你觉得自己遇到最有挑战性的事情是什么?

15、你希望你未来想要加入的团队是怎样的?

16、有什么问题要问的?

加起来一共面试了45分钟吧,看到专家大佬超级紧张。面完之后心里松了一口气,终于熬到最后了~ 可是,还没结束T-T,hr小姐姐和我说,如果你这次通过了,后面会有另一个部门的成员来面试你(也就是交叉面),我表面笑嘻嘻说好,心里咯噔一下。

那天下午接到了电话,约我交叉面的时间

交叉面(45分钟)

1、自我介绍

2、解释一下并行和并发的区别

3、如果我要让10个线程并发同时开始运行,你要怎么做?

4、你认为数据库索引的设计需要考虑什么因素?

5、知道索引的最左原则吗?解释一下

6、现在有a b 作为联合索引,有一条sql语句 where b > 0 and a = 7 和 where a>0 and b = 7分别会用到索引吗?

7、线程池使用时核心线程数和最大线程数的设计要考虑什么因素?

8、(另一个项目)你主要负责哪个部分,难点是什么?

9、并发下单的并发是在哪个部分?你通过什么来防止超卖这种情况?

10、如果是分布式情况下你如何防止超卖的情况?

11、出租车项目的分库分表是按照什么条件进行的?

12、如果让你设计一个叫车算法,你会考虑什么?如何设计?

13、geohash是什么,你能说一下吗?

14、如何计算两个geohash块之间的距离?

15、有什么问题要问的?

交叉面感觉比较难,面到后面有点自闭,觉得自己答得不好超级害怕。面了45分钟也结束了。感觉不好

不过还好上天眷顾了我,三天后,我很幸运收到了录用意向书。

作者:WilderGao

来源:牛客网

Java校招面经_校招面经:阿里天猫Java后台开发面试历程相关推荐

  1. 2019 最全阿里天猫Java 3面真题,含面试题答案!

    1 阿里天猫Java一面 自我介绍 jvm GC原理,JVM怎么回收内存 ConcurrentHashMap是怎么解决并发问题的? HashMap怎么从链表转换为红黑树?如果存入的是null键,放在桶 ...

  2. 北京 Java软件工程师薪资_【北京京东工资】java高级软件工程师待遇-看准网

    京东2021校招,投了两个岗位,一个是物流方向管培生,一个是物流规划,管培生当时未参加一面(形式群面),后来面了物流规划这个.1.初试(通过)一面为一对一专业面试,形式为线上视频面试,问了一些实习经历 ...

  3. 中秋节图案 用java代码打出来_这个中秋,我用 Java 画了一个月饼!

    栈长代表微信公众号 "Java技术栈" 祝所有粉丝中秋佳节快乐! 为了用一种特殊的方式表达我的心意,去年中秋节,我写了这篇文章: 没错,去年一天,我学了 20 种编程语言,刺激.. ...

  4. java泛型 简书_一文带你认识Java泛型基础

    Java泛型基础 1. 认识泛型 泛型是在JDK1.5之后增加的新功能. 泛型可以解决数据的安全性问题, 主要的原理是在类声明的时候通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型. ...

  5. java语言程序设计你_清华大学出版社-图书详情-《Java语言程序设计》

    前言 Java语言是一种典型的面向对象的.跨平台的.支持分布式和多线程的优秀编程语言,具有极强的扩展性.自其诞生以来,迅速被业界认可并广泛应用于Web应用程序的开发中.在此形势下,国内高校在计算机及相 ...

  6. java多语言编程语言_为什么很多程序员信仰“Java是世界上最好的编程语言”

    看到这个标题,估计有不少PHPer要跳进来打我膝盖,跪请各位Java程序员保我周全. 因为PHP是所有web开发中使用最多的语言,也被称为最有生命力的语言,所以也就自然而言有了"PHP是世界 ...

  7. mac上java文件如何编译_如何在Mac上用Java编译和运行程序?

    小编典典 在Mac OSX或任何主要操作系统上编译和运行Java应用程序非常容易.Apple随OSX一起提供了一个功能齐全的Java运行时和开发环境,因此您要做的就是编写Java程序并使用内置工具来编 ...

  8. java编程最新图书_清华大学出版社-图书详情-《Java程序设计》

    前言 Java是一种完全面向对象的程序设计语言,具有卓越的通用性.高效性.平台移植性和安全性,得到广泛的应用.在全球云计算和移动互联网产业高速发展的环境下,Java具备显著的优势和广阔前景.本书以Ja ...

  9. java自动推断类型_推断:Facebook的新Java静态分析工具

    java自动推断类型 如何使用Facebook的Infer改善Java开发工作流程? 如果您与技术话题保持同步(如果您正在阅读此博客,我想您会这样做),那么您可能听说过Facebook 刚刚向公众发布 ...

最新文章

  1. 网站优化之各个页面的关键词密度的把控
  2. python程序实例电话本-零基础案例,别再错过了,动手Python做一个电话本小程序!...
  3. 满分简便代码——L1-049 天梯赛座位分配 (20分)
  4. SQL Server商业智能–简介
  5. c 语言与数据库技术基础教程答案,2016计算机三级《数据库技术》备考习题与答案...
  6. 搜索很久_装了SSD你还需要这个软件才更快,搜索查找文件数据从此不再等待
  7. Flink API之Source入门
  8. linux底层内存管理--内核空间的伙伴系统
  9. # 研究杂感 × VOSviewer(第二辑)
  10. java 旋转方向_Java 旋转PDF页面方向
  11. Linux中用tar命令对文件夹进行打包压缩
  12. python中hist的用法总结
  13. MariaDB 10.6.10离线安装
  14. php thrift 编译,Thrift 源码编译
  15. android 渠道排名,安卓APP渠道效果统计***排名
  16. c语言编程TLC2543AD采集,基于C语言的89C51与TLC2543AD转换器的驱动程序的设计 实训报告...
  17. 数据挖掘概念与技术14--Star-Cubing
  18. html数据线如何使用,揭秘数据线DIY详细步骤
  19. Web漏洞扫描工具(批量脱壳、反序列化、CMS)
  20. 本地ASP.NET开发页面使用AzureAD(AAD)验证登录

热门文章

  1. ad板子挖孔_用AD软件画孔的注意了!
  2. C语言判断第几天(最简版)
  3. python基础之文件处理
  4. vite安装失败问题Emitted ‘error‘ event on ChildProcess instance at:-4058esbuild.exe
  5. 吴海燕C语言真题,基于APP的智能婴儿床系统的设计与实现开题报告
  6. English and Programming_Day1
  7. 虚拟化:gva、gpa、hva、hpa转化
  8. Fabric.js添加辅助线的方法
  9. 卡方检验在关联分析中的应用
  10. 幸福的烦恼:显卡算力太高而pytorch版本太低不支持