阿里一面


阿里天猫海外技术部
一面
4.19 36分钟

算法:
了解常用的排序算法;
简单介绍快排的核心思想
哨兵节点的选择,举两个例子,如何选择时间复杂度最大,如何选择最低
时间复杂度最大:数据本来有序,每次都选择到最一端的一个元素
时间复杂度最小:节点选择使得两边都元素数量大致相等
想一个办法:让选择的哨兵节点尽量的在中间
排序的稳定性,思考一个在实践中什么时候必须要用稳定性的算法

数据结构:
了解常用的数据结构:链表、数组、二叉树、栈、队列
链表和数组的各自的优缺点,分别适合什么场景;
自己设计一种数据结构:结合链表和数组的优点;我说了hashmap
hashmap的缺点:也没想到什么,只说了有可能消耗的更多的存储空间。
map的哈希冲突;怎么解决哈希冲突?说了直接加一的操作,和使用节点链表,多叉树
Redis的优点;为什么适合做缓存,和其他的缓存中间件的优点?内存中,比较快,可以持久化
Redis数据持久化的策略:RDB和aof,
mysql底层怎么设计的?
简单介绍下B+ tree;
mysql联合索引什么情况下不能使用?
结合B+ tree说下为什么不按顺序的时候不能使用联合索引?

场景:一百个不同的数字,找到Top10
可以对数组扫描10次
使用最大堆结构。

项目相关
简单介绍session机制;
多台服务器的session的存储方法:1. 设置一台session服务器。2, 使用ip_hash。
ajax前后端分离的原理。
#阿里面试##阿里巴巴##校招##面经##Java工程师#
全部评论
lz几年经验啊,有学历要求吗
点赞 回复 分享
发布于 2020-04-20 14:40
楼主一面过了吗? 我投的也是相同部门,还没笔试,楼主笔试情况怎么样
点赞 回复 分享
发布于 2020-04-20 17:54

相关推荐

Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
评论
点赞
16
分享
牛客网
牛客企业服务