• 阿里巴巴核心部门 1234 面(Java 岗):并发 +CAS+ 算法 +JVM+ 缓存


    一面

    先自我介绍下

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

    二面

    主要是技术部分

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

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

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

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

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

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

    • zset 底层怎么实现的

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

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

    • 说下 Dubbo 的原理

    • 踩过什么坑没有

    • CAS 了解么

    • 还了解其他同步机制么

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

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

    三面

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

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

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

    • 具体怎么实现的?

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

    • 怎么解决呢?

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

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

    • Dubbo 的 RpcContext 是怎么传递的?

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

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

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

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

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

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

    • 为什么使用 B+树?

    • 什么是索引覆盖?

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

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

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

    • 有什么想问我的么

    总结

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

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

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

     

     

  • 相关阅读:
    (九)turtle
    Java类部类
    C#与物联网:打造智能家居解决方案
    MogaFX外汇收益帮助First Gen实现10亿英镑的经常性净收入
    Qt5开发及实例V2.0-第二章Qt模板库工具类及控件
    Vue3实现获取验证码按钮倒计时效果
    案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践
    C语言:用二级指针访问二维数组
    JDBC技术
    云原生之旅 - 10)手把手教你安装 Jenkins on Kubernetes
  • 原文地址:https://blog.csdn.net/weixin_70730532/article/details/126853826