内推阿里 Java 技术岗 4 面:JVM+ 回收算法 + 并发编程 +NIO/BIO+ 开源框架 + 索引 +Redis 缓存等
Java 岗面试的重点:
数据结构与算法,JVM 内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring 框架:分布式相关:Redis 缓存、一致 Hash 算法、分布式存储、负载均衡等,微服务以及 Docker 容器等。在这由于文字很多,我总结了 java 面试所涉及到的常问范围及常问面试题免费分享给大家,文末有领取!
面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。
一面(一个小时十分钟)
1.自我介绍
2.说说 B+树和 B 树的区别,优缺点等?
3 聊聊 Spring,主要 IOC 等等
4 多线程 JUC 包下的一些常见的类,比如 CountDownLatch、Semaphore 等
5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了 ReentrantLock 与 synchronized。
6.你了解哪些收集器?CMS 和 G1。详细谈谈 G1 的优点?什么时候进行 Full GC 呢?
7.Spring 中涉及的一些设计模式
8.算法题:无序数列中求第 k 大的数(维护最小堆,然后依次遍历,与堆顶比较)
9.MySQL 创建索引的原则,好处
10. 怎么实现一个线程安全的计数器?
二面(四十多分钟)
1. 设计模式:讲了单例,工厂方法,抽象工厂,策略模式,观察者模式,代理模式,还顺便讲了下 spring 动态代理的实现原理
2. 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
3. HashMap 的底层数据结构
4. 红黑树的具体结构及实现,红黑树与查找树的区别体现
5. 接着聊 ConcurrentHashMap,底层实现
6. HashMap 哈希函数的认识,JDK1.8 采用的 hash 函数
7. 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点
9. TCP 三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包
10. 已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构
三面(50 分钟:主要分布式这块)
你对快手的了解,和抖音的区别,聊项目
项目中用到 dubbo?那你说说什么是 rpc 框架?和 http 调用的区别是什么?
Redis 有哪些数据结构?持久化方案和区别?
Redis 哨兵、集群的设计原理和区别?
Redis 缓存和数据库会存在一致性问题吗?怎么解决
Kafka 怎么保证数据可靠性?讲了生产者端发送消息到 broker 持久化,分区和副本机制,消费者消费消息的 at-least-once 和 at-most-once?怎么实现 Exactly-Once?
HR 面:
你个人的最大的缺点是什么?
在工作中和生活中遇见最大的挑战是什么?是如何克服的?
未来有什么规划?
平时有哪些兴趣爱好
常规的面试流程了,主要就是自己优缺点,以及未来的职业发展,以及薪资这块。
最后
针对于上面的面试题我总结出了互联网公司 java 程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括 Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取
kafka:
spring 原理:
需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取
评论 (1 条评论)