分享

支付宝核心部门1234面:并发 Redis 消息队列 CAS 算法 JVM

 king9413 2019-11-07

一面

先自我介绍下

  • 聊项目,逆向系统是什么意思

  • 聊项目,逆向系统用了哪些技术

  • 线程池的线程数怎么确定?

  • 如果是IO操作为主怎么确定?

  • 如果计算型操作又怎么确定?

  • Redis熟悉么,了解哪些数据结构

  • zset底层怎么实现的

  • 跳表的查询过程是怎么样的,查询和插入的时间复杂度

  • 红黑树了解么,时间复杂度

  • 说下Dubbo的原理

  • 踩过什么坑没有

  • CAS了解么

  • 还了解其他同步机制么

  • 我们做一道题吧,数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数

  • 时间差不多了,先到这吧。你有什么想问我的?

二面

主要是技术部分

1.volatile和synchronized原理
2.HashMap,ConcurrentHashMap
3.epoll,select,poll
4.TCP,UDP(tcp的具体状态没答出来
5.jvm内存分布,垃圾收集,eden区
6.jvm调优(不会
7.java对象头里有什么(只答了age,monitor,其他的忘了
8.mysql主从复制

三面

  • 面试官和蔼很多,你先介绍下自己吧

  • 你对服务治理怎么理解的?

  • 项目中的限流怎么实现的?

  • 具体怎么实现的?

  • 如果突然很多线程同时请求令牌,有什么问题?

  • 怎么解决呢?

  • 如果不用消息队列怎么解决?

  • 分布式追踪的上下文是怎么存储和传递的?

  • Dubbo的RpcContext是怎么传递的?

  • 主线程的ThreadLocal怎么传递到线程池?

  • 你说的内存泄漏具体是怎么产生的?

  • 线程池的线程是不是必须手动remove才可以回收value?

  • 你说的内存泄漏是指主线程还是线程池?

  • 你说下SpringMVC不同用户登录的信息怎么保证线程安全的?

  • 我们聊聊mysql吧,说下索引结构

  • 为什么使用B 树?

  • 什么是索引覆盖?

  • Java为什么要设计双亲委派模型?

  • 什么时候需要自定义类加载器?

  • 我们做一道题吧,手写一个对象池

  • 有什么想问我的么

总结

面试官很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。

切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。

我个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,我在这里将这份耗时两个月整理出来的核心技能面试知识点,送给有需要的人,希望这份资料能对大家有所帮助

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多