前言

我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了阿里的offer,定级P7。

我现在也来写面经,把我还能记住的,写下来,反馈给大家:

一面 :

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的作用?

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

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

线程都有哪些状态?

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

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

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

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

手写单例模式

手写消费者生产者模式

算法:反转单链表

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

三面:

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

下面为大家附上我在朋友那要到的字节跳动以及京东的面试题

一面:

自我介绍

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

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

Object类都有哪些方法?

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

HTTP和HTTPS的区别

UDP怎么实现可靠传输

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

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

事务的隔离级别?

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

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

算法:N皇后

二面:

1. Kafka的特性?

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

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

4. 那些情景下会造成消息漏消费?

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

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

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

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

9. topic的分区数可不可以增加?

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

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

三面:

redis的Zset怎么实现的?

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

redis cluster集群同步过程

redis单线程为什么快?

mybatis一级缓存和二级缓存

spring如何解决循环依赖?

spring AOP的原理。

spring的生命周期。

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

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

算法:二叉树的镜像

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

一面:

如何设计一个秒杀系统?

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

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

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

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

贝叶斯的概率学原理

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

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

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

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

二面:

自我介绍

项目介绍(面试官:你说你经验不足,那咱们从基础来问)

redis的5种类型,及其实现原理(redis设计与实现这本书我倒背如流,面试官夸我很不错)

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

redis如何实现高可用?

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

布隆过滤器的实现。

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

负载均衡算法有哪些?

服务发现是怎么实现的?

熔断是怎么实现的?

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

讲讲分布式CAP和BASE?

什么是强一致性

分布式事务的解决方案?

TCC(两阶段型、补偿型)

id生成器如何实现?

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

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

背包问题

三面:

自我介绍

项目介绍

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,阻塞与非阻塞的区别?

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

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

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

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

总结

多看多记,多做题多看书,希望大家可以找到自己喜欢的工作,一切顺利。

闭关苦修半年,最终靠着这份面试题,我成功拿到了阿里的offer!的更多相关文章

  1. 裸辞闭关2个月,成功进大厂!吃透这份562页《算法知识手册》,化身offer收割机!

    前言 记得我上本科的时候,我们老师一直跟我们强调:"算法才是编程的灵魂,一定要把算法学好."因为不管你是Java编程爱好者.还是python的忠实粉丝,亦或觉得PHP才是这个世界最 ...

  2. 给iOS中高级求职者的一份面试题解答

    前段时间更新了一篇 给iOS中高级面试官的一份招聘要求 收到很多小伙伴的点赞与关注.可能有很多小伙伴已经带着我在那篇文章给大家提供的一些面试技巧 & 其中的面试题 已经开始招聘或者应聘了!这里 ...

  3. 一份还热乎的蚂蚁面经(已拿Offer)!附答案!!

    本文来自我的知识星球的球友投稿,他在最近的校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由作者--泽林提供,部分答案由Hollis整理自知识星球<Hollis和他的朋友们>中「 ...

  4. 我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

    前言 怎样的契机? 实际上,目前毕业已经两年时间了,在大学时就已经开始关注字节跳动的发展.一开始,我是电气自动化专业的,大二清楚目标之后就转计算机了,大四进了一家小型的互联网公司实习,具体就不说哪家了 ...

  5. 十面阿里 Java 程序员,最终拿下阿里 P6 offer!

    转子:https://mp.weixin.qq.com/s/RkMxPbm8E99-rTZKmvBy6Q 今天介绍小编的一个朋友,他现今有四年开发经验了,前前后后为了进阿里面试十次(阿里旗下—蚂蚁金服 ...

  6. 凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer!

      一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能?   1.2. 什么是 Spring Framework? Spring 是一个开源应用框架,旨在降低应用程序开发 ...

  7. 直面秋招!非科班生背水一战,最终拿下阿里等大厂offer!

    前言 2020年已经接近到9月份了,很多粉丝朋友都对金九银十雀雀欲试了吧!也有很多朋友向我求教经验,因为我自己工作相对于稳定,在这里给大家分享一个粉丝朋友的经历,他作为一个曾经的菜鸡面试者,在不断的失 ...

  8. 一份热乎的字节跳动客户端面经,已拿Offer

    字节面试过程: 4月4号进行内推,7天的简历评估,11号接到电话面试,尽管猝不及防回答仓促,但好在前期准备充分,通过.14号现场面试,次日收到通知,通过,二面.三面都很顺利.20号进行HR面,26号收 ...

  9. 云计算之路-阿里云上:对“黑色n秒”问题的最终猜想——CPU C-states引起的

    如果说2013年云计算之路的主题是“踩坑”,那么2014年我们希望云计算之路的主题变成“填坑”——当然填坑是阿里云来完成的,我们只是见证曾经的坑坑洼洼变成平坦大道. 15号(周四)晚上我们发现了SLB ...

随机推荐

  1. ASP.NET Core托管运行Quartz.NET作业调度详解

    Quartz.NET这么NB的作业调度系统,不会还行?   今天介绍一下Quartz.NET的托管运行,官网传送门. 一.前言 Quartz.NET,按官网上的说法,是一款功能齐全的任务调度系统,从小 ...

  2. conda回滚

    1. 查看历史版本: conda list --revision 2. 安装上次版本: conda install revision 13 13是历史序号.从上面看出,最近的历史序号是14,因此上一个 ...

  3. 梯度vs Jacobian矩阵vs Hessian矩阵

    梯度向量 定义: 目标函数f为单变量,是关于自变量向量x=(x1,x2,-,xn)T的函数, 单变量函数f对向量x求梯度,结果为一个与向量x同维度的向量,称之为梯度向量: 1. Jacobian 在向 ...

  4. 在Linux系统中安装Chrome浏览器

    前言:作为一个Web开发人员,经常与我们相伴的必然少不了浏览器,而Google旗下的chrome浏览器更是凭借着出色的性能.简洁的界面被广大开发者所喜爱,今天分享下如何在linux系统下安装chrom ...

  5. SQL注入的一些学习

    -------------------------------------- 这是我之前发布到的其他的一个网址,这里的话我重新总结 可能分很多,我也不是很清楚,只是皮毛的研究了一下 1,sql按数据库 ...

  6. 【源码】spring生命周期

    一.spring生命周期 1. 实例化Bean 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用crea ...

  7. 【总结】rabbitmq

    一.rabbitmq基础 1.简介 RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的.Erlang语言在数据交互方面性能优秀,有着和原生Socket一样的延迟, ...

  8. java的“同一”与“相等”

    变量:引用(指向地址) + 值(该变量指向值所储存的那一片内存) 两个变量同一 : 判断 是否 这两个变量指向同一片内存. 两个变量相等 : 判断 是否 这两个变量的类型相同,且值相等. 注:常用的& ...

  9. How to using expression setup BackgroundColor AX2012 SSRS Report[AX2012]

    tile label using [#99ccff] property BackgroundColor - > expression =Iif(Fields!Flag.Value = " ...

  10. 重拾python所要知道的一些主干知识点

    前言:因为有一段时间没有用python了,最近需要用到,只能回头过去看B站视频补一补,因为语言都是相通的,而且一些细节都可以去查表解决,所以呢,我们只需要知道一些python与其他语言的不同和常见的优 ...