阿里巴巴四个部门的面经

飞猪

项目

  1. 压测的那个方面的

  2. 我做的优化

    • nginx均衡

    • rabbitmq

    • redis缓存

    • 动静分离

  3. 落到数据库的请求是多少

    top指令查看

  4. 缓存一致性

  5. 如果删除了效果怎么样

  6. 30000个都访问到数据库上了

  7. 保护数据库的策略

  8. 分库分表

  9. ioc的实现

    beanFactory,applicationContext

    初始化容器 工厂,beanwrapper,检查接口,属性注入,单例/原型(创建新的/从singleObjects里面拿),循环引用,三级缓存

  10. 常用的bean的配置方式controller什么的和他们的区别

基础

  1. Hashmap & concurrentHashMap

  2. 数组和链表

  3. 图的存储方式

支付宝国际事业部

基础

  1. hashmap时间复杂度

  2. arraylist & linkedlist

  3. 进程和线程的区别

  4. 创建线程的方式

  5. 数据库索引

  6. jvm内存分配

项目

  1. 项目架构

  2. 库存存在什么地方

  3. concurrenthashmap放在哪个服务器里

  4. 是谁把消息丢到mq里面

  5. 系统启动之后有几个进程

  6. 缓存一致性怎么实现的

  7. 能达到qps 30000吗

  8. 写了单元测试吗

  9. 版本控制用的是什么

其他

  1. 除了教科书之外有哪些技术比较了解

  2. 官方文档读的英文还是中文
其他:
  1. 有什么想问我的

阿里云

项目

  1. 哪些职责 实现了哪些功能

  2. 幂等性怎么保证的

  3. 用户可以很快的发两个请求怎么办

  4. 从提交到下单的流程

  5. 缓存一致性

    通过先更新数据库再删除缓存来实现

  6. 更新了数据库 还没有来得及更新缓存,第二个已经看到了怎么解决(我很迷惑)

  7. 超卖解决 sql中加 >1

  8. 数据库隔离级别

  9. 在哪几种隔离级别上是不会有问题的

    未提交读有问题

    面试官:恰恰相反 未提交读还是对的,可重复的话,a看到有,把db数据-1,(我还是很迷)
  10. http有了解吗

  11. 为什么想到做这个项目

  12. 遇到什么难点

  13. 环境是什么linux还是windows

  14. 怎么验证qps有效

  15. 单点登录怎么实现

  1. 开始另一个项目(小型操作系统),有什么收获

  2. 有涉及到segment fault这种的设计吗

智力题

  1. n! 这个数,末尾会有几个0

    比如3! = 6 问6的后面有几个0

    我磨磨唧唧想了一会

    说可以看1~n之间有几个产生0的因子 比如2*5=10 会有一个0,把1~n之间的2和5去掉,然后就这样判断一共有多少个(其实不好意思想太久了就瞎猜了一个),面试官说ok,听上去像是说对了?🙊

  2. 有一些随机的点和一些边,如何判断会有多少个有向无环图(DAG)

    我一开始想的是从点开始dfs,开个数组,每个点存一下自己所在的DAG的编号,最后遍历一遍就知道有多少个DAG了

    然后他说有没有办法优化,提示说可以从入度为0的点开始遍历

    我想了一会说 如果知道入度的话,是不是有多少个入度为0的点就是有多少个DAG了

    他沉默了一会说是吧

然后就问我有没有想要问他的,这么快就到反问环节了我有点慌,直接说“咦不用问哪些基础jvm什么的吗”,他哈哈哈一笑说你准备好了吗,那我问你一些吧

基础

  1. 判断对象是否被回收(引用计数,可达性)

  2. gc root哪些

  3. 本地方法栈中的变量是指哪些

  4. 新生代回收器和老生代的回收器的搭配

  5. 内存碎片

  6. 系统在oom或者gc 如何定位

不知道什么部门

基础

这个面试官有点迷,全程都没有问我什么问题,都是让我直接从一个领域里面选自己了解的讲

  1. 数据结构里面选一个,选了hashmap

  2. jdk8新特性

  3. 算法选一个讲 我选了dijkstra

  4. 数据库学了哪些,课程里面学了哪些内容

项目

这个面试官居然打开了我的github盯着代码问我

  1. 如果是真实的秒杀系统,需要做哪些改进

    我说了rabbitmq的消息丢失问题

  2. 说我的项目是有问题的但是我不太理解问题所在🤔️

  3. 消息是用来干嘛的 我说异步

  4. 异步有什么好处

  5. 重新问了一遍 如果是真实的秒杀系统,需要做哪些改进

  6. 怎么样能再增加qps

  7. 单点登录的实现有点危险

  8. mybatis底层

  9. mybatis防止sql注入我说了#{} 和 ${}的区别

  10. 另一个项目让我介绍了一下 我讲的比较细 就再没问别的

----------------------
阿里云和国际事业部联系我二面,别的还在等消息
许愿阿里🙏
#阿里巴巴##面经##Java工程师##校招#
全部评论
带老,是暑期实习吗
点赞 回复 分享
发布于 2020-03-17 16:19
盯着github源码问也太恐怖了吧
点赞 回复 分享
发布于 2020-03-18 19:45
请问飞猪是哪个部门呀
点赞 回复 分享
发布于 2021-03-22 17:11

相关推荐

按照官网公告似乎是最后一场?选择题日常大杂烩:基数排序、概率论、栈和队列……三道编程题:1.多个样例,给出一个仅有r、e、d三种字母构成的字符串,可以将任意子序列red染为红色,O(n)判定是否能将整个字符串染成红色:思维题,首先判定首位必须是r和d,然后分别从前往后遍历,判定d出现之前必须有e出现;再从后往前遍历,判定r出现之前必须有e出现2.Python3手撕文本相似度计算。又到了cpp选手的坐牢时间,a了第三题之后回来做着玩儿,凭感觉基本把过程写了个大差不差,就是余弦相似度计算和定义和我理解的不太一样,算出来结果有区别,没过3.类似题1,给出一个仅有r、e、d三种字母构成的字符串,题意可以转化为求所有red子序列的长度和(原题干是所有“red子序列的下标之差的绝对值轮换求和”结果之和)最开始写了个O(n^3)的暴力过了26.67%,后来发现犯蠢了,题意可以转化为直接求red子序列的长度。遂枚举每个r和d的距离即可,二者中间出现多少个e就乘以几倍(预处理e的个数的前缀和,即可O(1)查询r和d之间e的个数),算法复杂度应该是O(n^2logn),没想到提交直接ac了,不知道还有没有优化空间这个点估计也没hc了,就许愿一个进面吧 #菜鸟#  #菜鸟集团#  #菜鸟笔试#  #秋招#  #算法工程师#  #算法岗#
投递菜鸟集团等公司10个岗位
点赞 评论 收藏
分享
5 40 评论
分享
牛客网
牛客企业服务