阿里Java架构师谈:2021年最新Java面试经历

helloworld_78018081 等级 1091 0 0

第一家是美团

美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等... 阿里Java架构师谈:2021年最新Java面试经历

一面问题:MySQL+Redis+Kafka+线程+算法

  • mysql知道哪些存储引擎,它们的区别

  • mysql索引在什么情况下会失效

  • mysql在项目中的优化场景,慢查询解决等

  • mysql有什么索引,索引模型是什么

  • B-树与B+树的区别?为什么不用红黑树

  • mysql主从同步怎么做

  • 乐观锁与悲观锁的区别?

  • binlog日志

  • redis 持久化有哪几种方式,怎么选?

  • redis 主从同步是怎样的过程?

  • redis 的 zset 怎么实现的?

  • redis key 的过期策略

  • hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?

  • 如何实现线程安全的hashmap?

  • select 和 epoll的区别

  • http与https的区别,加密怎么加的?

  • raft算法详细讲解

  • Kafka 选主怎么做的?

  • kafka如何保证生产与消费都是同步的?

  • kafka 怎么保证不丢消息的

  • redis如何保证高可用

  • 算法:剪绳子(贪心或递归解决)

  • 算法:给前序和中序遍历,重建二叉树

二面问题:volatile+线程+并发+算法+设计模式

  • 自我介绍

  • 讲讲项目(项目没啥亮点,直接问基础)

  • volatile作用?底层实现?禁止重排序的场景?单例模式中volatile的作用?

  • 如何构造线程池,它的参数,饱和策略?

  • 公平锁和非公平锁区别?为什么公平锁效率低?

  • 线程都有哪些状态?

  • 线程、进程、协程的区别?

  • 同步队列器AQS思想,以及基于AQS实现的lock,。

  • 并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍

  • Execuors类实现的几种线程池类型,最后如何返回?

  • 手写单例模式

  • 手写消费者生产者模式

  • 算法:反转单链表

  • 算法:给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

三面

这一面,没问啥东西,主要聊人生,和未来3年的规划。。。。。。

第二家是字节跳动

阿里Java架构师谈:2021年最新Java面试经历

一面问题:算法+数据库+事务+网络

  • 自我介绍

  • 项目介绍(没亮点,还是问基础)

  • 堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。

  • Object类都有哪些方法?

  • DNS解析的过程/浏览器输入一个url,敲下回车后网络的全过程

  • HTTP和HTTPS的区别

  • UDP怎么实现可靠传输

  • 介绍下https,是如何加密的,加密算法

  • 数据库索引的优缺点,以及什么时候数据库索引失效

  • 事务的隔离级别?

  • 数据库的脏读,不可重复读,幻读

  • 算法:接雨水:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

  • 算法:N皇后

二面问题:Kafka+redis+算法

  • Kafka的特性?

  • Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?

  • 消费者重平衡(高可用性、伸缩性)

  • 哪些情景下会造成消息漏消费?

  • 如何保证消息不被重复消费(幂等性)

  • KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?

  • Kafka生产者客户端中使用了几个线程来处理?分别是什么?

  • 消费者与生产者的工作流程:

  • topic的分区数可不可以增加?

  • 算法:二叉树中的最大路径和

  • 算法:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。

三面问题:Redis+Spring+Dubbo+算法

  • redis的Zset怎么实现的?

  • sentinel和cluster区别和各自适用场景

  • redis cluster集群同步过程

  • redis单线程为什么快?

  • mybatis一级缓存和二级缓存

  • spring如何解决循环依赖?

  • spring AOP的原理。

  • spring的生命周期。

  • Dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码

  • 项目中遇到了哪些问题。(抱歉,我的工作就是增删改查,没接触过相关问题)

  • 算法:二叉树的镜像

  • 算法:从上到下打印二叉树

最后一家,瞄一下腾讯

腾讯这三面下来问的也不少,自求多福吧。

阿里Java架构师谈:2021年最新Java面试经历

一面问题:高并发+微服务+算法

  • 如何设计一个秒杀系统?

  • 一天爬一千万条文章,怎么做设计?怎么并行协调?100 台服务器怎么尽可能负载均衡?

  • 有用过短域名服务吗,能说一下吗?

  • 微服务的特点,如何实现服务发现和负载均衡

  • 如何排查线上问题?(背过,没排过)

  • 贝叶斯的概率学原理

  • 负载均衡的加权轮询算法怎么实现

  • 如果用户量大幅度上涨,如何优化?

  • paxos算法(这个算法太难,学的时候就没太理解)

  • 平时都看什么博客,最近看什么书了

二面问题:Redis+分布式+算法

  • 自我介绍

  • 项目介绍

  • redis的5种类型,及其实现原理

  • 如何使用redis的Zset实现延时队列?

  • redis如何实现高可用?

  • redis缓存穿透、缓存击穿、缓存雪崩

  • 布隆过滤器的实现

  • 如何保证mysql与redis的双写一致性?

  • 负载均衡算法有哪些?

  • 服务发现是怎么实现的?

  • 熔断是怎么实现的?

  • 算法:连续子数组的最大和

  • 讲讲分布式CAP和BASE?

  • 什么是强一致性?

  • 分布式事务的解决方案?

  • TCC(两阶段型、补偿型)

  • id生成器如何实现?

  • 如何判断一个图是否有环?

  • 一致性Hash算法,及其应用

  • 背包问题

三面问题:Redis+分布式+MySQL+算法

  • 自我介绍

  • 项目介绍

  • redis的zSet如何实现?

  • redis持久化机制。

  • redis的Hash类型讲解,渐进式rehash。

  • HashMap原理,一个put操作,都有什么流程?

  • nginx有自己配置过吗(这个是我唯一手动操作过的,这个不是背的)

  • nginx的使用场景。

  • 什么是分布式,什么是集群,区别是什么?

  • 在基于dubbo的分布式环境中,一般将超时timeout设置在provider还是consumer?

  • dubbo中负载均衡的策略有哪些?

  • 接口的异步调用?如何设置?运行效果?

  • 谈谈基于dubbo的系统中consumer集群的解决方案?

  • mysql是集群还是单节点?最大连接数,最大的表中数据量大约是多少?

  • mysql主从复制主要有哪几种模式?

  • mysql索引,B+树,为什么不用红黑树?

  • 数据库垂直与水平拆分怎么做。

  • 分布式session设置

  • IO、BIO、NIO,阻塞与非阻塞的区别?

  • 分布式接口的幂等性设计(不能重复扣付款)

  • 算法:二叉搜索数与双向链表(这个懵了)

  • 算法:最长不含重复字符的子字符串

  • 算法:手写快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性

最后

由于篇幅限制,小编在此截出几张知识讲解的图解,有需要的程序猿(媛)可以点赞后戳这里免费领取全部资料获取哦

阿里Java架构师谈:2021年最新Java面试经历

阿里Java架构师谈:2021年最新Java面试经历

阿里Java架构师谈:2021年最新Java面试经历

阿里Java架构师谈:2021年最新Java面试经历

阿里Java架构师谈:2021年最新Java面试经历

收藏
评论区

相关推荐

我是Redis,MySQL大哥被我害惨了!
本文转自 轩辕之风 ,链接如下 https://mp.weixin.qq.com/s?__bizMzIyNjMxOTY0NA&mid2247486528&idx1&sn3f7b09eb21969fdb16f5b0805ff69fed&scene21wechat_redirect 我是Redis 你好,我是Redis,一个叫Antirez的
学完了C++语法之后该学什么??(数据库篇)
数据库与中间件 主要是MySQL、MongDB、Redis、Nginx等; 在大学的课程里,一般都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQL,因为最频繁。数据库不在多。 把MySQL学好,还是特别重要的,千万不能停留在会用的层面上,而是应该
Redis实现分布式锁
一、redis分布式锁的简易实现 用redis实现分布式锁是一个老生常谈的问题了。因为redis单条命令执行的原子性和高性能,当多个客户端执行setnx(相同key)时,最多只有一个获得成功。因此在对可用性要求不是特别高的场景下,redis分布式锁方案不失为一个性价比高的实现。 1. 多个客户端执行setnx lock
经典JAVA面试题整理,方便统一复习
以下是网上整理的非常全面的面试题,当然,绝大多数人不可能全部用到,但是都罗列在此,大家可根据自己的情况,选择对应的模块进行阅读。面试题模块介绍这份面试题,包含的内容了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hi
聊聊dubbo协议
协议协议通俗易懂地解释就是通信双方需要遵循的约定。我们了解的常见的网络传输协议有tcp、udp、http等。再到我们常用的基础组件,一般来说client端与server端也有相应的协议,如redis、mysql、zookeeper等都是各自约定的私有协议,同样今天标题中的dubbo协议也是一种私有协议,他们都是应用层协议,基于tcp或udp设计。
Redis集群详解
Redis集群详解Redis有三种集群模式,分别是: 主从模式 Sentinel模式 Cluster模式 三种集群模式各有特点,关于Redis介绍可以参考这里:Redis官网:https://redis.io/ ,最新版本5.0.4 主从模式 主从模式介绍主从模式是三种模式中最简单的,在主从复制中,数据库分为两类:主数据库(master)和从数据库(sl
springBoot集成redis
Redis作为一个Java后端面试中的一个常问考点,并且在项目中越来越常用,所以自己动手搭建了一个基于springboot集成redis做为数据缓存的demo(springboot集成mybatis、redis,并具有增删改查询接口)。关注微信公众号【菜鸟阿都】并回复:redis,可获得源码。后面也会继续深入研究redis相关知识,期待与大家一起学习交流。r
给dubbo贡献源码,做梦都在修bug
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 一在之前的文章《redis在微服务领域的贡献》中,从一次面试经历中了解了redis可以在微服务中玩的这么溜,同时也从源码角度分析了dubbo的redis注册中心。最后得出了dubbo的redis注册中心不能用于生产的结论,其中原因有如下两点: 使用了ke
推荐程序员面试秘籍!2021年大厂Java岗面试必问
01 JAVA基础 1.1 java知识点 Hashmap 源码级掌握,扩容,红黑树,最小树化容量,hash冲突解决,有些面试官会提出发自灵魂的审问,比如为什么是红黑树,别的树不可以吗;为什么8的时候树化,4不可以吗,等等 concureentHashMap,段锁,如何分段,和hashmap在hash上的区别,性能,等等 HashTable ,同步锁,这块可
阿里Java架构师谈:2021年最新Java面试经历
第一家是美团美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等... 一面问题:MySQL+Redis+Kafka+线程+算法 mysql知道哪些存储引擎,它们的区别 mysql索引在什么情况下会失效 mysql在项目中的优化场景,慢查询解决等 my
阿里程序员的Java之路!2021年最新Java面试点梳理
面试题模块介绍: 一、Java 基础 JDK 和 JRE 有什么区别? 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(1.5) 等于多少? String 属于基础的数据类型吗?
作为一个码农终于把这些笔记看懂了,牛皮轰轰
Spring面试高频问题 SpringMVC面试高频问题 MyBatis面试高频问题 SpringBoot面试高频题 SpringCloud面试高频问题 Redis高级面试题 Dubbo高频常问面试问题 Java虚拟机(JVM) MySQL数据库高频面试问题 Java高频面试专题合集解析:当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是
面试字节跳动Java工程师该怎么准备?值得收藏!
性能调优影响MySQLServer 性能的相关因素1. 商业需求对性能的影响2. 系统架构及实现对性能的影响3. Query语句对系统性能的影响4. Schema设计对系统的性能影响5. 硬件环境对系统性能的影响MySQL 数据库锁定机制1. MySQL锁定机制简介2. 各种锁定机制分析3. 合理利用锁机制优化MySQLMySQL数据库Que
五面阿里巴巴拿offer后定级P6:分享Java面经及答案总结
一面(电话)说说对JVM的理解treemap和hashmap有什么区别?Java多线程的的5大状态图流转mysql主键和唯一索引的区别说说最近的项目如何实现session共享,用redis如何实现缓存击穿的概念和解决方案说说微服务,微服务之间如何管理二面(现场)java nio常?用的三个类java里面的同步锁了解吗?Countdownlauch和Cylic
数据存储-大数据的三种存储方式
互联网时代各种存储框架层出不穷,眼花缭乱,比如传统的关系型数据库:Oracle、MySQL;新兴的NoSQL:HBase、Cassandra、Redis;全文检索框架:ES、Solr等。如何为自己的业务选取合适的存储方案,相信大家都思考过这个问题,本文简单聊聊我对Mysql、HBase、ES的理解,希望能和大家一起探讨进步,有不对的地方还请指出。MySQL: