写点什么

二本渣渣生,两次冲锋,十面阿里(Java 岗)感谢 HR 终于让我过了

作者:Geek_194345
  • 2024-03-12
    湖南
  • 本文字数:991 字

    阅读完需:约 3 分钟

一面(50 分左右)


============================================================================


  1. 项目相关介绍,没太大参考性~

  2. String 为什么不可变, 处于什么考虑

  3. String s1=“abc”, 这一语句执行后数据在 Java 中是如何存储的

  4. String s1 = “abc”, String s2 = “ab”+“c”, 创建了几个对象

  5. HashMap 和 ConcurrentHashMap 简单讲一下(聊了 hash、数据结构、扩容、线程安全性、不同版本比较)

  6. 红黑树、B+树

  7. 多线程如何实现对线程间共享内存的保护

  8. Java 内存模型

  9. volitail 如何保证可见性

  10. 了解哪些设计模式

  11. 模板方法和代理模式的比较、适用场景

  12. 有没有尝试过 JVM 调优、dump 内存


二面(30 分钟)


===========================================================================


  1. 多线程的几种实现方式介绍一下

  2. 运行时异常和一般异常的区别

  3. HashMap、ConcurrentHashMap

  4. HTTP、HTTPS 介绍一下

  5. UDP、TCP 介绍一下

  6. 多态体现在哪些地方

  7. 堆排序、归并的原理

  8. 代理模式,聊了聊 JDK 代理的源码

  9. 项目相关

  10. 看过哪些项目的源码

  11. 最近在看什么技术类的书,收获。聊了聊书上的 redis 相关内容

  12. 一面中回答最不好的问题,现在怎么去解决。


笔试


=====================================================================


给 n 个字符串,格式类似 “stringA, stringB”,表示这两个字符串之间有某种关系,关系是可以传递的,最后给 m 个询问 “stringA? stringB”,让判断 stringA 是否和 stringB 有关系。也就是说,如果 a 和 b 有关系,b 和 c 有关系的话,那 a 和 c 也是有关系的。


四面(45 分钟)


===========================================================================


  1. 项目相关

  2. 觉得知乎哪个地方实现最复杂

  3. 知乎的关注列表在数据库层面如何实现

  4. 上面三个题 30 分钟,后续就是谈人生了


五面(20 分钟)


===========================================================================


  1. Redis I/O 模型、数据结构

  2. synchronized 和 lock 的比较

  3. 线程状态,状态之间的切换、生命周期

  4. 等待和阻塞的区别

  5. TCP 如何保证消息的可靠传输

  6. 数据库的索引机制。

  7. 最左匹配,结合 B+树的实现和查询机制聊了聊

  8. 缓存雪崩

  9. 三种限流算法


交叉面(30 分钟)


============================================================================


  1. Java 内存区域划分

  2. ConcurrentHashmap 扩容

  3. CAS

  4. 敏感词过滤,时间、空间复杂度(字典树->AC 自动机)

  5. 进程通信

  6. 管道和重定向的区别

  7. OSI 模型

  8. TCP、UDP 区别

  9. MySQL 查询优化器的优化过程(只讲了择路和成本估算)

用户头像

Geek_194345

关注

还未添加个人签名 2024-03-06 加入

还未添加个人简介

评论

发布
暂无评论
二本渣渣生,两次冲锋,十面阿里(Java岗)感谢HR终于让我过了_Java 面试_Geek_194345_InfoQ写作社区