快手面经总结(2024最新)

news2024/9/24 15:26:12

快手

面经1-一面

开始先是手撕算法两道

  1. 自我介绍
  2. 两道手撕
    1. 将字符串转化为整数 (这里当时出现溢出值问题,进行了思考解决,写了两种方式)
    2. synchronize , 可以使用的几种形式,代码写出

操作系统 和 数据结构

  1. hash解决冲突 ( 开放定址法、链地址法、再哈希法、建立公共溢出区 )
  2. 上述四种方式详细的过程、思路
  3. 链地址法和再哈希法之间的关联和区别
  4. 两者分别适用场景
  5. 两者底层的数据结构,关联和区别
  6. 链表和数组的底层结构设计、关联、区别、应用场景

常用算法

  1. 常用的排序算法 ( 冒泡、堆、快速、桶、选择、插入 )
  2. 堆排序和选择排序使用场景上有什么区别
  3. 选择排序和堆排序对于资源的利用 ( 选择排序适合数据量少的情况、堆排序适合数据量多的情况,资源利用率、设计思路 )
  4. 常用的查找结构都有什么? ( 二分查找法、插值法、hash查找、分块查找、树表查找 )

数据结构

  1. b树和b+树和红黑树的设计思路、结构区别、使用区别
  2. 队列和栈有什么区别
  3. 他们的使用场景 ( 栈:数据匹配、数据反转;队列:任务队列、共享打印机 )

Jvm

  1. jvm内存模型
  2. jvm垃圾回收算法
  3. jvm垃圾回收器
  4. cms、g1的设计思路、关联和区别、垃圾回收阶段的不同
  5. 让你设计系统中进行选择其中一个回收器,你的想法是什么

使用框架、底层原理

  1. 在你的开发中最常使用的框架
  2. SpringBoot常用注解
  3. RestController和Controller有什么区别
  4. 你在完成项目的过程中是怎么处理异常的 (全局异常梳理)
  5. 全局拦截器的设计、项目中实现 (注解、类)
  6. Aop的了解、怎么使用
  7. Aop底层实现( JDK、CGLib、动态代理实现 )
  8. asm是什么 (字节码增强器)

MySql

  1. Mysql事务隔离级别
  2. 什么情况下使用读已提交
  3. 对于脏读的理解

redis

  1. 对于redis的理解
  2. redis在项目中进行怎么样的使用
  3. redis 为什么读取速度那么块 (io、单线程、内存)
  4. 为什么redis单线程会快 (完全基于内存、单线程避免不必要的上下文切换、cpu消耗、加锁问题。。。)
  5. 对于很多文件和数据,怎么进行数据的查找、排序,使用什么样的数据结构 (类似于TopK、这个主要是让你进行优化、类似于位图、hash、过滤器之类的)
  6. 反问:
    1. 对于部门的业务、技术栈
    2. 对我的建议、和整个面试的感觉

分享一份大彬精心整理的大厂面试手册,包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等高频面试题,非常实用,有小伙伴靠着这份手册拿过字节offer~

需要的小伙伴可以自行下载

链接:https://pan.xunlei.com/s/VNgU60NQQNSDaEy9z955oufbA1?pwd=y9fy#

备用链接:https://pan.quark.cn/s/cbbb681e7c19

面经1-二面

Java基础

  1. 自我介绍
  2. 抽象类和接口有什么区别
  3. 在使用过程中,接口和抽象类的选择以及使用场景

计网、Linux

  1. http 和j https 的区别
  2. https 过程中都使用哪些加密的算法 ( 对称加密、非对称加密 )
  3. 都怎么使用的,这些j加密算法的理解
  4. Linux都是用过哪些常用命令 (cat、less、tail、grep、wc…)
  5. 查看系统内存 ( top )
  6. 查看系统内存,返回多个指标,怎么查看内存的占用率
  7. 怎么将系统内存显示的数据进行排序

Java基础加深、线程、锁、数据机构等等

  1. java里面的类加载器的设计
  2. 类加载器的类之间的可见性 (委托机制、单一性、可见性)
  3. 如果父级对子级进行调用,会出现什么异常
  4. 线程都有哪些状态
  5. blocking和waiting有什么区别吗
  6. 如果是sleep(1000) 会让线程进入什么状态
  7. synchronize的使用流程
  8. java中的原子类实现原理
  9. 对CAS的了解
  10. 对CAS底层了解
  11. HashMap的底层实现原理
  12. HashMap的put流程
  13. ConcurrentHashMap的实现原理

框架Spring,代理

  1. Spring的Aop的底层实现
  2. 动态代理的了解 ( 见上面文章 )
  3. 静态代理和动态代理的区别
  4. 对动态代理性能的了解
  5. 浅拷贝和深拷贝的区别
  6. 手撕 : topK问题 ( 堆、优先队列、快排、冒泡 )
  7. 大顶堆小顶堆的设计思路

收尾的小问题

  1. 在实习中最有成就感的项目
  2. 对抖音和快手的看法
  3. 反问
    1. 业务的具体方向
    2. 对我的整体感觉和建议

面经1-三面

  1. 自我介绍
  2. 介绍一个你最得意的项目
  3. 介绍一下你的实习经历
  4. 实习项目中介绍一个你印象最深的需求
  5. 这个需求的设计、使用的框架详细介绍
  6. 这个项目的上线效果怎么样的
  7. 上线需要的什么问题
  8. 你在实习公司的转正情况
  9. 还有其他的offer吗
  10. 你对快手怎么看的
  11. 面试官主动介绍部门
  12. 反问
    1. 部门的业务、地点 ( 因为之前面试的组hc没了,转到隔壁组,重新问的业务方面 )
    2. 对我整体面试看法 ( 说的是看我之前面试,聊的挺详细的,面评也不错,等hr )

面经1-HR面试

  1. 面试官先自我介绍了
  2. 最近2-3年,挑一个最有代表性的一件事
  3. 你为什么觉得这件事最有代表性呢
  4. 在你的整体实习的话,给自己打分你会打几分 、10分制 ( 我打的8分 )
  5. 你都做了那些事情,让你打的8分
  6. 那你觉得从那些手段方法提升剩下的2分呢
  7. 你完成实习之后,有哪些收获呢
  8. 考虑提前实习吗
  9. 毕业之后的未来规划
  10. 之后的定居城市怎么想的
  11. 还有什么进行的面试流程吗
  12. 你心中对这些公司的排序 ( 地点、技术、前景 )
  13. 反问
    1. 什么时候出结果
    2. 对我的整体感觉

面经2-一面

1、聊项目

2、线程的几种状态

3、线程池的状态

4、线程池的运行过程

5、如何合理地配置线程池

6、怎么实现阻塞队列

7、怎么监控线程池的运行状态,答的用一些线程监控的工具,面试官说指代码层面上,只争对线程池,没答上

线程池执行类ThreadPoolExecutor给了相关的API来监控某一个线程池的执行状态,能实时获取线程池当前活动线程数、正在排队线程数、已执行线程数、总线程数等。

ThreadPoolExecutor tpe = ((ThreadPoolExecutor) es);
while (true) {
    System.out.println();
 
    int queueSize = tpe.getQueue().size();
    System.out.println("当前排队线程数:" + queueSize);
 
    int activeCount = tpe.getActiveCount();
    System.out.println("当前活动线程数:" + activeCount);
 
    long completedTaskCount = tpe.getCompletedTaskCount();
    System.out.println("执行完成线程数:" + completedTaskCount);
 
    long taskCount = tpe.getTaskCount();
    System.out.println("总线程数:" + taskCount);
 
    Thread.sleep(3000);
}

8、java中有几种锁

9、锁升级的过程(自旋的缺点,CAS有什么不足)

10、对象头的结构

11、synchronized和ReentrantLock区别

12、ReentrantLock是怎么实现的,讲到AQS,顺便说了AQS

13、还有哪些基于AQS的同步工具

14、volatile作用

15、volatile怎么保证可见性和防止指令重排序

16、mysql的隔离级别

17、事务acid

18、mysql如何保证acid

19、redo log和undo log区别

20、redo log和undo log是如何生成的(这块细节忘了,只说了先写内存,然后再刷盘)

21、介绍几种消息队列

22、说说rabittmq架构(说了分为虚拟机、交换机和队列,然后说了下消息的传递过程,面试官否认了,说这只是应用层面)

23、jvm的内存模型

24、对象什么情况会进去老年代

25、spring ioc aop

26、注解底层怎么实现的(动态代理)

27、注解失效有哪些原因(自己还经历过@Transaction失效的bug的,当时没答上来,被自己气死)

28、bean的加载过程

算法:有序数组生成平衡二叉树,当时已满60分钟,面试官给了5分钟的时间限制,看我思考了一会,问我有没有思路,我说暂时还没,然后就换了一道题

面经2-二面

1、聊项目

2、mysql默认隔离级别

3、如何实现可重复读

4、如何解决幻读

5、间隙锁和nextkey锁

6、mysql锁是锁的什么(索引)

7、mysql的索引结构,有什么优点

8、怎么实现读写分离

9、主从复制是怎么实现同步的,答传bin log文件,后续数据更新怎么同步,答mysq不了解,但我知道redis主从复制后续是通过一个复制缓存区来记录新增的命令,通过发送这些命令实现同步

10、说说redis架构(单线程,io多路复用)

11、redis的底层数据结构知道吗(只知道用到了跳表,然后说了下跳表)

12、缓存穿透和缓存雪崩,解决方法

13、缓存和数据库怎么保证一致性

14、说说threadlocal怎么实现的

15、threadlocalmap中key为啥要用弱引用,key被gc后value怎么办

16、说说四种引用

17、spring事务传播机制

18、spring如何解决循环依赖

19、说说tcp协议

20、tcp如何保证不会接受重复的报文

21、tcp如何保证有序

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

部门:商业化技术部

面经2-三面

  1. 自我介绍
  2. Redis 是单线程还是多线程?为什么快?
  3. IO多路复用和非阻塞IO? IO多路复用提升了什么性能? IO多路复用提升了CPU哪方面的指标
  4. 线程池使用过吗?线程池的运行原理?
  5. IO密集型和CPU密集型的区别
  6. IO密集型的线程数配置过多会对CPU有什么影响?
  7. Zookeeper 的原理
  8. 为什么使用Zookeeper
  9. Zookeeper为什么要主从,选举机制
  10. MySQL的主从是什么原理
  11. TCP为什么是可靠的
  12. 能提前实习吗?
  13. 未来三到五年的规划?
  14. 算法题 lc简单题
  15. 能来提前实习吗?

反问:对应届生的要求。

最后给大家分享200多本计算机经典书籍PDF电子书,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,感兴趣的小伙伴可以自取:

200多本计算机经典书籍PDF电子书:https://pan.xunlei.com/s/VNlmlh9jBl42w0QH2l4AJaWGA1?pwd=j8eq#

备用链接:https://pan.quark.cn/s/3f1321952a16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1364840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

e2studio开发STHS34PF80人体存在传感器(1)----获取人体存在状态

e2studio开发STHS34PF80人体存在传感器.1--获取人体存在状态 概述视频教学样品申请完整代码下载主要特点硬件准备接口最小系统图新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函…

canal本地搭建以及运行

具体的文档可参考官网文档:https://github.com/alibaba/canal/wiki canal [kənl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 工作原理 canal 模拟 MySQL slave 的交互协议&#x…

解决Canvas画图清晰度问题

最近在开发Web端远程桌面的时候遇到的一个问题,解决记录一下,分享给各位有需要用到的朋友。 先吹下水:远程桌面的连接我们是通过Websocket连接后,后端不断返回远程端的界面二进制数据流,我接收到之后转为图像&#xf…

mxxWechatBot微信机器人自定义接口支持配置多个关键词、多个群聊和好友

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 注意: 免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑​封禁账号。本工具我不会绝对保证对你的账号没有影响…

案例精选|淄博绿能燃气工程有限公司日志审计系统建设方案

淄博绿能燃气工程有限公司,成立于1994年,前身为淄博市煤气公司管道液化气分公司。公司业务主要涉及天然气、液化气等市政工程施工及城镇燃气供应等领域,具有市政公用工程施工总承包二级资质,《压力管道安装许可证》压力管道安装GB…

看图识熊(三)

使用Windows Machine Learning加载ONNX模型并推理 环境要求 Windows Machine Learning支持在Windows应用程序中加载并使用训练好的机器学习模型。Windows 10从10.0.17763.0版本开始提供这套推理引擎,所以需要安装17763版本的Windows 10 SDK进行开发,并…

实战Flink Java api消费kafka实时数据落盘HDFS

文章目录 1 需求分析2 实验过程2.1 启动服务程序2.2 启动kafka生产 3 Java API 开发3.1 依赖3.2 代码部分 4 实验验证STEP1STEP2STEP3 5 时间窗口 1 需求分析 在Java api中,使用flink本地模式,消费kafka主题,并直接将数据存入hdfs中。 flin…

秒懂百科,C++如此简单丨第十五天:指针

目录 必看信息 Everyday English 前言 📝了解指针 📝定义指针 📝分析指针 📝运用指针 总结 必看信息 ▶本篇文章由爱编程的小芒果原创,未经许可,严禁转载。 ▶本篇文章被收录于秒懂百科&#xff0c…

网络层协议及IP编址

0x00 前言 本节为网络层协议及IP编址内容 IP地址的范围:0.0.0.0-255.255.255.255 IP分为网络位以及主机位。子网划分就是向主机位借位。 网络层协议 IPICMP(internet Control message protocol)IPX IP协议的作用 为网络层的设备提供逻…

2023湾区产城创新大会:培育数字化供应链金融新时代

2023年12月26日,由南方报业传媒集团指导,南方报业传媒集团深圳分社主办的“新质新力——2023湾区产城创新大会”在深圳举行。大会聚集里国内产城研究领域的专家学者以及来自产业园区、金融机构、企业的代表,以新兴产业发展为议题,…

【计算机网络】网络基础--协议/网络协议/网络传输流程/地址管理

文章目录 一、计算机网络背景二、协议1.协议是什么2.为什么要有协议 三、网络协议1.为什么要进行协议分层2.OSI七层模型3.TCP/IP五层(或四层)模型 四、网络传输基本流程1.协议报头2.局域网3.数据包封装和分用4.网络传输流程图 五、网络中的地址管理1.认识IP地址2.认识MAC地址3.…

C++与数据库MySQL锁——模拟订票(事务)

假设订票的时候,好几个人同时进入,查看这张票是否售出,假如同时购买了这张票,那对于售票行业来说,可能就会发生低级错误。那么如何避免这类事情发生呢? 解决办法: 在一个人访问的时候&#xf…

DataFunSummit:2023年知识图谱在线峰会-核心PPT资料下载

一、峰会简介 AIGC,ChatGPT以及发布的GPT-4相信已经给大家带来足够的冲击,那么对于知识图谱的应用产生哪些变化和变革?知识图谱在其中如何发挥作用呢?通过LLM是否有可能辅助创建通用大规模知识图谱?AIGC时代下行业知识…

burpsuite专业版的安装和破解(2024年最新)

burpsuite专业版的安装和破解(2024年最新) 简介视频教程下载BP专业版第一步第二步:下载第三步第四步:打开powershell界面第五步:在powershell中执行BurpLoaderKeygen.jar文件第六步:破解第七步:…

聚道云软件连接器,助力某钢铁行业公司实现发票信息自动同步

客户介绍: 某钢铁行业公司是一家大型现代化民营钢铁企业,拥有覆盖钢铁全产业链的冶金装备、技术和全过程信息系统。公司业务涉及钢铁、煤炭、房产等行业,多年来一直保持着稳健的发展态势。 添加图片注释,不超过 140 字&#xff0…

VlnPlot画的其实不是原始数据

昨天的推文描述了让小提琴图肚子变大的做法:让你的小提琴肚子大起来‍‍‍‍‍‍‍‍‍‍‍‍‍ 在此说明:这种不考虑后果,就让肚子大起来的做法是不严谨的。如需使用,建议将原始图和修改图放在一起对比,且在文章中注…

vue3+echart绘制中国地图并根据后端返回的坐标实现涟漪动画效果

1.效果图 2.前期准备 main.js app.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: sRDDfAKpCSG5iF1rvwph4Q95M6tDCApL,// v:3.0, // 默认使用3.0// type: WebGL // ||API 默认API (使用此模式 BMapBMapGL) });i…

K210基础实验系列

CanMV K210 开发板: CanMV K210 是由 01Studio 设计研发,基于嘉楠科技边缘计算芯片 K210 ( RSIC V 架构, 64 位双核)方案的一款开发板,采用硬件一体化设计( K210 核心板、 摄像头、 LCD 集成在一个…

服务器内存不足怎么办?会有什么影响?

服务器内存,也被称为RAM(Random Access Memory),是一种临时存储设备,用于临时存放正在运行的程序和数据。它是服务器上的超高速存储介质,可以快速读取和写入数据,提供给CPU进行实时计算和操作。…

localhost和127.0.0.1的区别是什么

今天在网上逛的时候看到一个问题,没想到大家讨论的很热烈,就是标题中这个: localhost和127.0.0.1的区别是什么? 前端同学本地调试的时候,应该没少和localhost打交道吧,只需要执行 npm run 就能在浏览器中打…