快手面经

最近在准备面试,看了很多大厂的面经,抽空将快手面试的题目整理了一下,希望对大家有所帮助~

一面

  1. 简单介绍项目
  2. 知道哪些数据结构以及他们的特点
  3. 链表增删快,那如何提高其查询效率,有没有什么想法?
  4. B+树了解吗?B+树如何范围查询?B+树退化的极端情况是什么?
  5. 跳表了解吗?
  6. 大顶堆、小顶堆了解吗?
  7. 实现长地址请求到服务端,然后服务端重定向短地址给客户端,如何实现长短地址的互相映射?
  8. 那我现在有10份数据,有1000个线程来争抢,你要怎么处理?
  9. 分布式是什么?为什么要分布式?分布式又会有哪些问题?分布式系统是如何实现事物的?
  10. Redis集群了解吗?如何处理宕机的情况?Redis的同步策略?
  11. LRU算法了解吗?你会如何实现它?这个算法可以应用在哪些场景下?
  12. TCP为什么是三次握手?两次行不行?多次行不行?
  13. TCP的安全性是如何实现的?两台服务器之间可以同时建立多条TCP链接吗?怎么实现的?
  14. 客服端输入一个网址后,是如何拿到客服想要的数据的,是怎样在网络中传输的?
  15. cookie和session
  16. java有哪些锁?共享锁是什么?CAS?乐观锁和悲观锁?synchronied的底层原理?锁升级?死锁怎么形成的?如何破解死锁?

二面

  1. Java容器:List,Set,Map
  2. Map的遍历方式
  3. HashMap扩容为什么是扩为两倍?
  4. Java线程同步机制(信号量,闭锁,栅栏)
  5. 对volatile的理解:常用于状态标记
  6. 八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)
  7. 线程阻塞几种情况?如何自己实现阻塞队列?
  8. Java垃圾回收。可达性分析->引用级别->二次标记(finalize方法)->垃圾收集 算法(4个)->回收策略(3个)->垃圾收集器(GMS、G1)。
  9. java内存模型
  10. TCP/IP的理解
  11. 进程和线程的区别
  12. http状态码含义
  13. ThreadLocal(线程本地变量),如何实现一个本地缓存
  14. JVM内存区哪里会出现溢出?
  15. 双亲委派模型的理解,怎样将两个全路径相同的类加载到内存中?
  16. CMS收集器和G1收集器
  17. TCP流量控制和拥塞控制
  18. 服务器处理一个http请求的过程
  19. 例举几个Mysql优化手段
  20. 数据库死锁定义,怎样避免死锁
  21. spring的aop是什么?如何实现的
  22. 面向对象的设计原则
  23. 策略模式的实现
  24. 操作系统的内存管理的页面淘汰 算法 ,介绍下LRU(最近最少使用算法 )
  25. B+树的特点与优势

三面

  • 自我介绍,说简历里没有的东西
  • 说几个你最近在看的技术(MySQL,多线程)
  • 口述了一个统计数据的场景题
  • 如果这个统计数据场景不用MySQL,而是用Java来实现,怎么做
  • 如果数据量过大,内存放不下呢
  • 用面向对象的思想解决上面提出的问题,创建出父类,子类,方法,说一下思路
  • 下一个场景,口述了一个登录场景,同学用线程池做登录校验,会有什么问题
  • 如何解决这些问题
  • 你给出的方案弊端在哪里,还有哪些方案

四面

  • 谈谈类加载机制。
  • hashmap和concurenthashmap
  • 16g机器,让你分配jvm内存怎么分配。
  • 机器慢了怎么排查。
  • 谈谈consul和zookeeper,还有服务发现机制。
  • 详细说明raft协议。
  • 谈谈consul和zookeeper区别。
  • 服务注册的时候发现没有注册成功会是什么原因。
  • 讲讲你认为的rpc和service mesh之间的关系。

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~

********

如果访问不了Github,可以访问*******。

*******

#java##快手#
全部评论
我二面一个java问题都不问,一直问我项目,醉了
4 回复 分享
发布于 2023-05-05 20:52 陕西
这面试题有点东西
2 回复 分享
发布于 2023-05-05 10:53 浙江
?这不是21年阿里的面试题吗,一模一样
1 回复 分享
发布于 2023-06-05 21:02 吉林
lz, 请问下TCP安全性答案是什么呀
1 回复 分享
发布于 2023-05-06 09:22 河南
m
点赞 回复 分享
发布于 2023-05-11 22:17 北京
链接被屏蔽了,不过还能点进去
点赞 回复 分享
发布于 2023-05-11 08:26 广东
快手都要四面吗?
点赞 回复 分享
发布于 2023-05-05 19:48 浙江
这一面感觉不像java
点赞 回复 分享
发布于 2023-05-05 11:12 湖北

相关推荐

09-22 23:58
门头沟学院 Java
🕐面试时间:8.12、8.20、8.29、9.8;意向是9.18发的 无笔试💻面试岗位:后端开发工程师写在前面:- 快手倾向项目、实习匹配度,对我的Golang云原生开发经历兴趣不大, 因此更多在考察八股、项目、场景题一面(8.12)总时长:40分钟1. 算法题:LRU2. 写完LRU后问,对map的get、put如果出现并发访问会出什么问题?应该如何解决?ConcurrentHashMap能解决吗?如果使用CAS的方式应该怎么写,可以用伪码表示?3. Java创建线程池的参数中有哪些?其中核心线程数、最大线程数具体考虑哪些问题来决定?4. 两段实习各简单介绍主要做的事5. 对数据库项目进行了详细的拷打,如果多个线程同时访问时,那么对操作底层数据库的过程中,会不会出现并发问题?MySQL对这种问题是如何解决的呢?二面(8.20)总时长:1小时1. 算法题:有n个6面的骰子,求掷一次后和为k的概率为多少。一开始想回溯,问要不要求复杂度,后面试官给了一些简单的提示,想出来动态规划解法2. MySQL的主从同步的过程是怎样的3. MySQL有哪些锁,能不能构造一个间隙锁的死锁?MySQL对这种死锁是如何处理的4. select a from xxx where c > 1 and d != 2 and b = 3,建立索引,怎么建,能最高效5. 对实习中提到的K8s很感兴趣,想让我介绍一下K8s以及我做的东西是什么(10多分钟)6. 用markdown写一个实现共享单车服务的技术方案,包括核心表结构,过程包含扫码取车,骑行过程的位置监控,关锁还车(这里就用了20分钟)三面(8.29)总时长:40分钟1. 分别介绍两段实习的项目背景,以及其中的难点2. 自己的项目中手搓的数据库,其事务问题和索引问题是如何解决的3. 如果拓展手搓的数据库为分布式的该怎么办(提到了raft)4. 那讲讲raft核心思想5. 对于新技术是如何学习的6. 业务侧这边在对接真实客户,压力很大我会怎么办7. 对当下ai这部分的理解
查看17道真题和解析
点赞 评论 收藏
分享
评论
42
275
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务