写点什么

腾讯,阿里,小米等 Java 开发岗面试真题,kafka+Redis

  • 2021 年 11 月 12 日
  • 本文字数:2006 字

    阅读完需:约 7 分钟

  • 1.什么是堆,什么场景下用堆

  • 2.你有看过什么语言下的数据结构相关的 sdk 源码,有看过 STL 中的吗(C++问题就不列举了)

  • 3.有实现过某种二叉平衡树吗,难点在哪里,红黑树呢

  • 4.map 为什么能 o(1)时间复杂度完成 set/get 操作,hashMap 扩容如何保证在新的 map 里 hash 取到原来的值,并且这种 hash 是公平的


组成原理


  • 1.cpu 栈寄存器 指针寄存器

  • 2.smp 对称多处理器 是如何在总线上实现信号的同步,如何实现各个 cpu 中缓存行的一致性

  • 3.有研究过 x86 吗

  • 4.l1 l2 l3 cache


算法


  • 1.给 n 个人 再给 n 个人的朋友关系 1-2 这种表示 1 和 2 是朋友 2 和 1 也是朋友,再给一个 int k,问能否把这 n 个人分成 k 组,每组的人彼此都不是朋友,如果能,输出这种结果

  • 2.excel 里的列数如下 A,B,C…Z…AA,AB,AC…AZ,BA…AAA…给你一个字符串 问它是 excel 里的多少列 如 AB 就是 28 列

  • 3.一个正整数 k 问有没有一个所有位数都是 1 的数字,正好整除这个 k,如果有,返回所有合法数中最小的那个的的位数,没有返回-1,如给你 3,那么 111 是合法数中最小的,返回 3


阿里 部门蚂蚁金服


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


操作系统


  • 1.进程间通信有哪些,详细说明自己在哪种场景下用过哪种方式

  • 2.死锁产生的条件

  • 3.java 中的线程有几种状态?详细说明

  • 4.os 中管道的实现,问的很深,记不到具体的问题了

  • 5.分段和分页解释一下

  • 6.虚拟地址、逻辑地址、线性地址、物理地址的区别

  • 7.协程和线程和进程的区别,谈谈你的理解


网络


  • 1.三次握手四次挥手,三次挥手可不可以

  • 2.OSI 和 TCP/IP 的区别(第一个问题是问我网络看的哪本书学习的,我说 tcp/ip 详解)

  • 3.http server 服务,现在要做一个针对用户维度或者接口维度的频控,假设一秒 100 这种,问在不改变原有接口服务的情况下,你如何实现

  • 4.网络安全相关,csrf 这种攻击如何防范

  • 5.各种协议问我了解过没有,例如 TCP/UDP/ICMP,这个问题比较常见

  • 6.微服务和 http 服务的区别,你对两者的理解


数据库


  • 1.你自己使用 mysql 中遇到过乱码问题没有,如何解决的,产生原因是什么

  • 2.Select * From table_name where filed_name != NULL 这个 sql 语句是什么意思,你觉得有没有问题

  • 3.关键字 where 和 having 的区别

  • 4.介绍一下 mysql 数据库引擎 innodb,及 mysql 的四种隔离级别

  • 5.用过什么索引,使用这个索引有什么要注意的

  • 6.数据的分库分表会产生什么问题,如何解决

  • 7.写一个 sql 语句,给表 t_score 字段 id(int),score(varchar),team1_id(int),team2_id (int)

  • 给表 t_team 字段 id(int),name(varchar),完成输出这种效果的语句(一条完成):id:xx,team1_name:中国,team2_name:日本,score:4:1


算法


  • 1.给你一个正整数 k,可能会很大但不超过 integer_max,再给你一个正整数 m(0-9),问 1-k 中间有多少个数,m 出现了多少次,如给你 k=12,给 m=1,那么 11,1,12 这三个数,1 一共出现了 4 次

  • 2.一个 N 阶 int 矩阵,人从(0,0)开始走,只能往上或者往右走,矩阵内的数值是该坐标的分值,分值只能获取一次,问这个人从(0,0)走到(N-1,N-1)再走回来,往返获得的分值最大是多少


redis


  • 1.redis 里的五种数据类型

  • 2.解释一下 redisObject 和 SDS

  • 3.redis 里的 sort set 为什么要用跳表不用红黑树,那


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


跳表实现原理说一下


  • 4.缓存不一致如何解决

  • 5.redis 持久化,aof 里的文件写入和文件同步解释一下

  • 6.redis 持久化 aof 和 rdb 分别适用于什么场景

  • 7.redis 各种数据结构,操作的时间复杂度

  • 8.redis 的主从复制原理,有没有可能写操作写到主,读操作读到从,那么读不到最新的数据,但是我如果偏要保证一致性,那如何解决


kafka


  • 1.概念解释,producer/consumer/partition/topic/offset/broker

  • 2.kafka 为什么和其它 mq 比起来,吞吐量高这么多,你有思考过 kafka 适用于什么场景吗,或者你说下你对不同 mq 产品的对比

  • 3.kafka 高可用里的 cap 理论,谈一下你的理解

  • 4.kafka 如何保证消息不被重复消费

  • 5.kafka 里的消息我要指定存到不同的数据源该怎么做


小米 部门小米广告风控


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


算法


  • 1.给一颗二叉树,节点的 val 只有两种:0 或者 1,每个节点有一个开关,可以无限使用,每使用一次,这个节点的下下层(孙子节点)所有数值反转(0 变成 1,1 变成 0),那么现在给你两颗形状一模一样的二叉树 A 和 B,问 A 能不能通过若干次使用开关变成和 B 一样,如果可以,在哪些节点上按开关

  • 2.给一个 int 数组, A 和 B 每次要从两边取一个数(可以取左边或者最右边),A 和 B 都很聪明,问 A 先取,能否有一种取法一定赢


数据库


  • 1.写一个 sql 语句(要用到 having,具体忘掉了)

  • 2.mysql 的 binlog 解释一下

  • 3.mysql 索引谈谈你的认识

  • 4.mysql 的事务和隔离级别


总结


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


之前有些人私信我,问面试题目和难度,我 今天总结了一下,希望对大家有用


助各位面试顺利,收到心仪的 offers 另外把我自己复习用的资料也分享给大家!

评论

发布
暂无评论
腾讯,阿里,小米等Java开发岗面试真题,kafka+Redis