阿里蚂蚁花呗团队面试题:spring+分布式+jvm+session+redis

InfoQ 2021-11-25 17:19:53
面试 面试题 阿里 团队 蚂蚁

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一面","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"没过2天就接到一个杭州的座机,说要约我进行电话面试,效率还是挺高,然后当天晚上就进行了一面。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下班后,吃了饭,专门找了一条人比较少的小路,到了7点,电话准时打过来了。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"还是先来自我介绍,完了面试官就开始发问,持续了大概40分钟,感觉面的一般,答的也不知道是否准确,反正他们那边一般不直接回答对还是错,后来发现,阿里的几轮面试,都是这样,他们一般只听,偶尔追问。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不知道的直接说答不上来,就会继续一个题。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一面完了,叫我等消息,心中凉凉,很多公司,等消息基本就是没消息。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不过当时,自己心态挺好,也是抱着试一试的,比较淡定,顺其自然嘛。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"二面","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一面刚过,隔天又一个杭州的座机过来,约我面试。当时挺意外,怎么又叫面试?后来确认是二面。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"过程都差不多,大概也是40分钟左右,主要问一些项目上的东西,跟一些框架。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然后面完,还是问我有什么想问的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我直接说后面还有没有面试,哈哈。面试官也乐了,还是叫我等消息。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"三面","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一个星期过了,没什么动静。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然后接到一个hr电话,叫我去现场面试。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然后给公司请假,程序员请假一般做什么?当然是去面试。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"到了地方,发现挺大的,有一栋楼,果然有钱!然后保安跟前台都比较nice,登记完之后就在那等。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"没多久,一个大叔级别的过来,说是面试的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"整个过程要长一些,大约一个小时,完了还聊了一些个人及生活情况。重点来了,最后又是叫我等消息!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"这里推荐一下我的Java后端高级技术群:479499375 ,群里有(Java高架构、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、等学习资源)进群免费送给每一位Java小伙伴,不管你是转行,还是工作中想提升自己能力都可以!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"还没完呢","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"整个技术面下来,感觉好像面试有迹可循。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一面一般是基础问题。二面偏向于做的项目与框架。三面比较全面,都会问到。如果会聊天,现场面还会聊技术之外的一些东西。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"顺便说一下,有开源项目或者技术博客,熟悉源码加分。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后一面","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"过了几天,hr打电话过来,说是面试。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"这一轮时间短一些,不到半小时,主要是技术之外的一些的东西。工作经历,家庭情况,甚至对加班及公司文化的看法。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"还是老样子,叫我等消息。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"offer来了","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"过了整整一周,蚂蚁金服通知我去体检,并告知offer已经在走审批流程了。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"算下来,前前后后,差不多3个星期。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以面试阿里这种大公司,需要耐心。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后仔细回想了一下技术面试题,附在最后,希望对其它想去阿里的同学有所帮助","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我碰到的面试题","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"java基础:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"hashmap结构;什么对象能做为key","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"hashtable,concurrentHashMap,hashtable比较","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"String,StringBuilder,StringBuffer","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对象的深浅复制","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"多线程:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"wait,sleep分别是谁的方法,区别","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"countLatch的await方法是否安全,怎么改造","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"线程池参数,整个流程描述","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"背后的底层原理aqs,cas","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ThreadLocal原理,注意事项,参数传递","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"还有java的锁,内置锁,显示锁,各种容器","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"及锁优化:锁消除,锁粗化,锁偏向,轻量级锁","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"web方面:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"servlet是否线程安全,如何改造","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"session与cookie的区别,get和post区别,tcp3次握手,文件上传用post还是get","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"session的存储","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如何防止表单重复提交","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"jvm:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"jvm内存模型,","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"jvm问题工具,jps,jinfo,jmap...","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"数据库:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最重要的索性及底层实现","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"索性失效的场景","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最左原则","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"查看执行计划","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"及carndiation","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然后是锁的类型,行级表级","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"悲观乐观锁","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"解释数据库事物及特性","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"隔离级别","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"及实现,redo log .undo log","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"bin log主从复制","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"mvcc,Next-Key Lock","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分布式:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"问了CAP,跟base","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"zookeeper满足了CAP的哪些特性,paxos","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"缓存穿透怎么解决","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"redis的io模型","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果保证redis高可用","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"redis是单线程还是多线程","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"线上cpu占比过高怎么排查","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一致性hash","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分库分表","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"spring:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ioc,aop原理","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ioc初始化流程","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"springmvc的流程","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"springboot,spring cloud相关组件","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"项目....","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"友情提醒一下,对于做过的项目,最好梳理清理,可能会叫你画各种图。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上就是蚂蚁花呗团队面试题。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"总结","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后针对于互联网公司java程序员涉及到的绝大部分难题我做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也可以关注我一下以后会有更多干货分享。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"资料领取方式:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"仅需添加小助理vx:XIaonan00000621即可获取免费下载方式!!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"重要的事情说三遍,转发、转发、转发后再发私信,才可以拿到!","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/35/35c738fb589a1269bd0c7bd7ab76a037.png","alt":"阿里蚂蚁花呗团队面试题:spring+分布式+jvm+session+redis !","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/9c/9cd34c1e79309fd572d0485f99cfe8ef.jpeg","alt":"阿里蚂蚁花呗团队面试题:spring+分布式+jvm+session+redis !","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/0ac17d907946afc50c1b64863

  1. JavaScript高级程序设计读后感(一)之零碎知识点查漏补缺
  2. 先到先学!Alibaba甩出第四次更新的JDK源码高级笔记(终极版)
  3. Java File类
  4. How To Install MariaDB on linux
  5. #yyds干货盘点# Mybatis 的 XML 配置
  6. Spring认证中国教育管理中心-Spring Data MongoDB教程七
  7. Linux进程和任务管理
  8. Linux文件系统日志分析
  9. Redis-客户端-重点知识
  10. Redis-事件-重点知识
  11. Redis-AOF持久化-重点知识
  12. Redis-RDB持久化-重点知识
  13. http://lx.gongxuanwang.com/sszt/32.htm
  14. 回顾我两个月面试阿里,携程,小红书,美团,网易等等(Java岗)
  15. JavaScript高级程序设计读后感(一)之零碎知识点查漏补缺
  16. Rocketmq source code analysis: message sending process
  17. Rocketmq source code analysis: how does rocketmq store messages?
  18. RocketMQ source analysis: how to debug the RocketMQ source in IDEA
  19. How To Install MariaDB on linux
  20. Comment installer mariadb sur Linux
  21. http://lx.gongxuanwang.com/sszt/7.htm
  22. Classe de fichiers Java
  23. Premier arrivé, premier servi! Alibaba lance la quatrième mise à jour de JDK source Advanced notes (Ultimate)
  24. #yyds干货盘点#设计模式之【工厂模式】
  25. Java * SpringBoot实现万能文件在线预览,已开源,真香
  26. Redis | 第4章 Redis中的数据库《Redis设计与实现》
  27. Liang Tingwei's first variety show of "director, please give advice" reshapes the classic work "spring of a new town"
  28. Redis | 第4章 Redis中的数据库《Redis设计与实现》
  29. 关于centos docker版本过低导致 is not a valid repository/tag: invalid reference format
  30. Redis 源码简洁剖析 02 - SDS 字符串
  31. 回顧我兩個月面試阿裏,攜程,小紅書,美團,網易等等(Java崗)
  32. Rétrospectivement, j'ai passé deux mois à interviewer Ali, ctrip, Little Red Book, meituan, NetEase, etc. (Java post)
  33. Docker + webhook Automation Deployment Front End Project
  34. Java技术之Spring、Hibernate框架整合方法
  35. http://lx.gongxuanwang.com/sszt/32.htm
  36. 亚马逊自己的 Linux 发行版现在完全基于 Fedora 了
  37. Redis 源码简洁剖析 02 - SDS 字符串
  38. Java技術之Spring、Hibernate框架整合方法
  39. Méthode d'intégration des cadres de printemps et d'hibernation de la technologie Java
  40. Redis source Concise Analysis 02 - SDS String
  41. La distribution Linux d'Amazon est maintenant entièrement basée sur Fedora
  42. org.springframework.web.bind.MissingServletRequestParameterException
  43. Built in constraints and functions of MySQL Foundation (2)
  44. Basic operation of MySQL Foundation (I)
  45. Introduction to Java zero foundation 3: Java data types
  46. 从零开始搭建EasyDarwin环境——Linux系统开发环境搭建Golang
  47. Redis source Concise Analysis 02 - SDS String
  48. Construire l'environnement easydarwin à partir de zéro - - construire l'environnement de développement du système Linux golang
  49. javaweb代码是正确的,但是第一行代码就报错了
  50. **** | Java | 后端开挂:3行代码写出8个接口
  51. Java || 看了大二学长写的代码,我竟开始默默的模仿了。。。
  52. Java | 手把手教你实现一个抽奖系统(Java版)
  53. Java | Manuel pour vous apprendre à mettre en œuvre un système de loterie (version Java)
  54. Java | | après avoir lu le Code que j'ai écrit en deuxième année, j'ai commencé à imiter silencieusement...
  55. Java | back - end Pending: 3 - line Code write 8 Interfaces
  56. Le Code Web Java est correct, mais la première ligne de code est incorrecte
  57. Android网络编程之Http通信
  58. Android網絡編程之Http通信
  59. Http communication for Android Network Programming
  60. The story of spring