面试刷题11-28


面经分享:

 

字节跳动

 

一面

二叉树最长路径(代码)

爬虫生成的8G的URL文件,只有1G的内存,如何查找出重复的URL

使用Hash函数将8G文件分成10个小文件, 由于Hash函数性质,重复的URL必被分到一个文件中

MySQL的隔离级别

讲讲可重复读隔离级别

流量控制和拥塞控制

三次握手和四次挥手

讲讲你理解的分布式系统    讲到了分布式锁

分布式锁redis和zookeeper实现区别,使用场景

索引底层实现结构

B+树的好处

B+树和B树的区别

 

二面

讲讲你所理解的Java面向对象

讲一下GC

讲一下Java的数据结构

讲一下ConcurrentHashmap

www.toutiao.com反转成com.toutiao.www(代码)

洗牌算法(代码)

项目相关,压测情况,如何继续优化

 

三面

合并N个有序数组,每个数组的长度为M,合并为N*M的有序数组,时间复杂度要求最低

逻辑题:想象一个地球表面,飞机可以从机场正着飞,也可以逆着飞,每个飞机的油最多能飞半圈,飞机之间可以互相加油,每一个飞机都要求飞回机场,要出动多少台飞机才可以保证一台飞机飞行完一圈

Innodb和myisam的区别

联合索引的最左匹配原则

项目相关

 

四面

全程问简历上的项目相关内容,会问一些根据项目延申出的场景题,包括如何做改进

 

 

流程:由于三面没过,给加了一轮面试,最后通过

 

 

滴滴出行

 

一面

项目相关

消息队列消费积压如何解决

dubbo服务导出,服务引入

zookeeper作用

四则运算(提示使用栈)   讲一下思路

LRU算法

TCP拥塞控制

 

 

二面

项目相关

根据项目延申的场景题:设计任务调度系统,确保每个服务器处理的任务数量均衡

如何做分布式锁

如何做到抗高并发

四则运算,和一面一样的问题,讲了思路

找到出现次数大于一半的数字代码(代码)

 

 

三面

学的好的课程有哪些?说了数据库

Mysql和Redis的区别

数据库Mysql的架构

缓存Redis的底层结构

讲一下B+树性质

判断链表是否有环?刚讲快慢指针,要求只能用一个指针

进程和线程的区别?不要背书上概念,有实现过吗

一个线程修改值,另外一个线程能看到修改吗

Redis的数据结构

Redis的set的底层实现

反射讲一下,写一个反射的例子

TCP层和IP层讲一下区别

有在Linux下编程吗

分布式锁怎么做的

zookeeper底层如何去只让一个客户端成功创建临时节点

redis持久化,aof持久化怎么写入的

redis集群的实现

一致性哈希

判断树状结构有没有环(代码实现

 

 

流程:三面没过

 

 

腾讯

 

一面

内存泄漏

程序退出去之后内存还会泄漏吗?

虚拟地址内存空间

map的底层结构

面向对象的特性讲下?项目中哪里用到了?

观察者模式讲一下

Linux命令了解哪些?有在上面编程过吗?

多线程如何控制同步的

如何让指针指向链表中间

一致性hash算法

IO多路复用模型和Socket

TCP如何保证可靠传输

Mysql的存储引擎讲一下

Mysql搭建集群,主机宕机之后怎么办

Nginx的负载均衡算法有哪些

项目相关

实习中用git开发的流程是怎么样的

 

 

流程:一面通过,没有二面流程直接结束。八月底才投的,提前批截止日才进行的一面,感觉是投晚了。

 

 

阿里巴巴

 

一面

项目相关介绍,难点在哪?

如何做接口限流和防止超卖

对数据库压力很大怎么解决?说了redis库存预加载和本地内存标记,问还有没有其他方案

redis扛不住的话有哪些解决方案?说了主从同步,但面试官说这对这样对数据一致性要求比较高

对rabbitmq了解哪些?

rabbitmq消息队列如何解决消息丢失

rabbitmq和其他消息队列的对比

对多线程了解吗?

JUC包下面了解哪些?讲了ConcurrentHashMap

atomic下的原子类有用到吗?采用了CAS

CAS算法在哪里有应用?扯了一下乐观锁和悲观锁

讲一下乐观锁和悲观锁

讲一下ConcurrentHashMap

Redis有哪些数据结构,底层实现是怎么样的?hash底层,zset底层?

说了忘记hash底层,问设计一个hash底层如何设计

操作系统的IO模型有哪些

中间件使用哪些IO模型

看你github上面有Leetcode仓库,讲一下动态规划

平时怎么学习的,平时看哪些书

对Zookeeper了解哪些?

Zookeeper如何做分布式锁

 

 

代码面

贴一段项目中你认为写得好的代码,讲一下

接口限流的方式有哪些

写一个堆排序

 

 

二面

介绍一下项目,一直问一直问,问的很细。

redis的setbit实现是怎么样的?

rabbitmq能避免发送重复数据吗?不清楚,说不可靠

rabbitmq的可靠性如何保证

自增批次号是怎么生成的?

redis的set的底层结构

redis的zset的底层结构,跳跃表结构怎么做到有序性的?

hashmap的结构

讲一下spring的作用是什么?讲了ioc

讲一下ioc容器的启动过程

只给先序和后序遍历能确定唯一的树结构吗?不能,举个例子说明

概率题,第一堆水果(橘子:苹果=5:5),第二堆水果(橘子:苹果=3:7),拿出一个苹果,为第一堆的概率? 我说要明确第一堆和第二堆数量的比值才能确定

 

 

三面

讲一下你比较得意的项目,项目接连被问倒了。。。很尴尬

Java基本类型有多少种

线程池的工作原理,核心线程数和最大线程数什么时候用到

Java中的锁如何实现的

分解数字,变成质因数相乘,比如12分成2*2*3(代码实现

 

 

流程:三面没有通过,项目答的很不好,的确也没有出彩的项目,太尴尬了

还有一些面经当时面完没有记录下来...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值