快手java开发面试经验大全

2023-11-06

1.自我介绍

2.java集合、hashmap详细介绍、关键参数、线程安全的集合、队列和栈、用两个栈实现队列算法

3.jvm结构

4.多线程锁:synchronized、reentrantlock、countdownlatch、锁升级

5.mysql隔离级别

6.线程池有哪些、核心参数、线程池运行机制

7.threadlocal

8.写线程安全单例模式,volatile原理、

9.写单词拆分问题

10.反问

好像叫基础平台部门。java岗。

总体来说,快手的一二面会根据难度循序渐进,并且会出一两个由易到难的算法题。一面偏向基础,二面偏向项目去问。

一面:

  • synchronized用法
  • public、protect、default、private
  • static修饰 作用域
  • java基础类型
  • 忘了。。

算法题:

  • 合并链表
  • 字符串合并相邻的相同字符

二面:

  • 实习经历
  • 项目
  • 以下为RabbitMQ问题:
  • RabbitMQ基础概念
  • 架构
  • 有哪些机制保证消息传输正确性
  • 事物下,假设最后一个commit操作丢失了,此时怎么办

算法题:

  • 归并排序
  • 牛客:集合的所有子集

1 自我介绍,不问项目直接开怼java

2 java八大数据类型是啥,各自占多少单位,float 能表示0.25吗 int 的数据范围是多少

3 java list接口拿啥实现的,arraylist和linkedlist 删除一个元素的时间复杂各是多少

4 hashmap的put的时候啥过程,扩容的时候啥样,怎么判断元素是低位还是高位

5 java里面线程怎么通信的,锁,说说synchronize的锁升级过程,说到monitor

6 知道有哪些排序算法,平均时间复杂度是多少

7 redis的zset怎么实现的,那么跳跃表的原理是啥,zscore用过吗,时间复杂度是多少

8 输入url发生了什么,ip找mac地址是啥协议

9 用的web容器是啥,url请求咋传到tomcat然后再咋到controller的

10 这个requestmapping 的map啥时候初始化的

11 写代码:单链表的归并排序

12 单例模式懒汉

13 单例模式饿汉

14 单例模式双重锁检查 volatile有啥作用(防止指令重排序)

15 内部类的单例模式写法

16 智力题:两人抛硬币,我先抛,谁先扔出来正面,谁赢,问我赢得概率是多少

1.自我介绍

2.项目介绍

3.如何判断一个用户是否在线?

4.怎么做的权限检验?(其他人对你消息进行抓包)

5.有没有学过token?

6.netty怎么实现的聊天?

7.连接管理怎么实现的?怎么判断这个用户断开?

8.考虑过怎么给这个项目植入漂浮广告吗?

9.连接断开是客户端断开还是服务端?

10.为什么选择netty,为什么不直接使用TCP?那个的性能更加好?

11.简述AQS

12.volatile与synchronized的区别?

13.synchronized与Lock的区别?

14.如何对一个代码块选择合适的同步机制?

15.有没有学习过服务降级?

16.spring的链路过程?

17.spring的AOP

18.简述代理模式?

19.动态代理和静态代理?

20.mysql的MVCC是什么?

21.数据库的隔离级别都有那些(MySQL是那个)?

22.怎么解决幻读?

23.MySQL的索引都有那些?

24.B树与B+树的区别?

24.范围查找选择那个数据结构比较好?

25.redis的数据结构都有那些?

26.堆排序?

二叉树的层序遍历

快手java一面

1.自我介绍

2.聊项目

3.java基本数据类型,long几位, 能存储什么范围的数据 ,float怎么存储小数的

4.String是基本数据类型吗 底层怎么实现的 (final修饰的char数组)

5.volatile关键字底层,如何实现可见行和有序性,为什么不能保证原子性

6.synchronized关键字底层,静态方法锁的是什么,非静态方法锁的是什么,静态代码块锁的是什么

7.hashmap put元素的原理,1.8以后的优化有什么,为什么长度超过8变成红黑树

8.数据库得事务隔离级别,innodb的默认隔离级别

9.innodb有哪些索引,聚簇索引与非聚簇索引区别,覆盖索引怎么实现

10.联合索引的失效情况,给了个例子

11.mvcc机制的原理

12.数据库乐观锁和悲观锁

13.b+树与b树,为什么用b+树

14.redis五种基本数据类型,sortedset底层是怎么实现的

15.缓存穿透,缓存击穿,缓存雪崩,分别怎么解决

16.一个排序二叉树,一个target值,寻找二叉树中的比target值小的最大值

17.上一题不会,换成大数相加了(我这个垃圾)

18.概率题:两个人抛硬币,抛到正面赢,先抛的人赢的概率(2/3)

19.cpu占用100%,如何排查问题(考Linux命令吗?)

快手一面

数据库update过程

怎么解决幻读

treemap和linkedhashmap

wait和sleep方法区别

线程池相关(工作队列、核心线程最大新任务什么状态、线程存在哪(没听懂

synchronized原理

volatile

撕 单链表两两反转

之前发过一次一面面经,这次和二面的一起发了

  1. 自我介绍
  2. 二话不说,先写一个LRU,吭哧吭哧写了二十多分钟,之后面试官给提了一些优化意见。
  3. TreeSet 和 HashSet 是怎么比较元素是否相等的?
  4. Integer 和 Long 的 hashCode() 方法实现有什么区别?
  5. ConcurrentHashMap 原理,1.7 和 1.8 区别。
  6. 线程池有哪些参数,执行流程是怎样的?有哪些常用 BlockingQueue,区别是什么?拒绝策略有哪些?shutdown() 和 shutdownNow() 有什么区别?
  7. synchronized 和 ReentrantLock 区别?ReentrantLock 实现原理,AQS 原理,CountdownLatch 和 Semophore 的作用?
  8. ThreadLocal 原理,线程池中使用 ThreadLocal 会有什么问题,为什么?软引用和弱引用有什么区别?
  9. 单例模式有哪些实现方式?双重检查锁怎么实现,为什么用 volatile,序列化破坏单例了解吗,怎么避免?
  10. 聚簇索引和非聚簇索引区别,sql 语句执行有哪些步骤?
  11. 事务隔离级别有哪些?可重复读怎么解决幻读?binlog 有什么作用?
  12. MySQL 存储时间有哪些数据结构?有什么区别?
  13. Redis 想要提交多条命令,但是只有一次 Round-Trip 怎么实现?pipeline 了解吗?持久化方式有哪些,区别是啥?AOF 重写介绍一下,fork 子进程有什么影响?

竟然没有反问环节,有点慌…

二面 55min

  1. 自我介绍。
  2. final 关键字的用法。
  3. 在哪些情况下,变量虽然没有使用 final 显式修饰,但还是被编译器提示不可修改?
  4. 谈谈你对 SpringBoot 的理解,主要解决了哪些问题,集成了那些第三方框架?支持哪些数据源?
  5. 说一下进程和线程的区别?Java 里的进程和线程是怎么体现的?
  6. 基础知识先聊到这里,下面来写个代码:有一张桌子,桌子上有一摞一摞的盘子,每摞盘子的数量是已知的,数量是无序且不等的,现在需要你去挪盘子,通过尽量少的挪动次数,使每个位置上的盘子数量趋于平均,需要你打印出每一次挪动盘子的动作,比如从位置 a 挪到位置 b (a和b是数组的下标),那就打印 a->b。输入是一个无序数组,输出是每一次挪动盘子的过程。这道题写了挺久,加上跟面试官讨论的时间都半个多小时了。
  7. 代码先写到这里,我们在聊些别的问题,关于 Java 并发编程,你都了解哪些方面?
  8. Java 最经典的 synchronized 关键字,你了解它的用法吗?
  9. 同步代码块中怎么释放锁?Object.wait() 的底层原理是什么?或者说 wait() 和 notify() 的机制在底层是怎么实现的?
  10. JUC 包下常用的锁有哪些?ReentrantLock 中有个 Condition ,你了解吗,一般怎么使用?
  11. 你在实际项目中有没有用过 MySQL 的一些高级功能,比如事务之类的,使用场景是什么?
    使用场景这个记得不太清楚了,答得磕磕巴巴,然后面试官说你没实际用过的话就不用说了…
  12. 你简单介绍一下 MySQL 的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快手java开发面试经验大全 的相关文章

  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • FTP局域网内文件共享

    FTP局域网内文件共享 由于最近公司电脑主机不让插U盘拷贝数据 所以导致在打包软件进行上机测试的时候需要使用聊天软件来进行传输 相对比较麻烦 所以决定使用FTP在局域网内来进行文件的共享 记录一下 一起学习吧 操作步骤目录 共享文件夹设置
  • c++ 内存管理一:初识内存分配工具

    文章目录 前言 1 new 和 delete 2 new 和delete 3 operator new 4 placement new 5 malloc和free 6 allocator 前言 侯捷 c 内存管理学习总结笔记 在C 中 有几
  • win服务器文件复制命令,用命令形式从Windows系统拷贝文件到Linux

    1 将本机文件复制到远程服务器上 scp home administrator news txt root 192 168 6 129 etc squid home administrator 本地文件的绝对路径 news txt 要复制到
  • 452. 用最少数量的箭引爆气球

    452 用最少数量的箭引爆气球 在二维空间中有许多球形的气球 对于每个气球 提供的输入是水平方向上 气球直径的开始和结束坐标 由于它是水平的 所以纵坐标并不重要 因此只要知道开始和结束的横坐标就足够了 开始坐标总是小于结束坐标 一支弓箭可以
  • 自动控制原理实验二 二阶系统阶跃响应

    实验源码已经上传CSDN了 需要的可直接下载 链接 https download csdn net download weixin 53129688 87694703 实验内容 其中 z 和wn对系统的动态品质有决定的影响 z为阻尼比 由于
  • 电子书 杜春雷 ARM体系结构与编程

    https pan baidu com s 1AYpTxklTRXCpqGV6hD3UzQ 提取码 j7ku
  • IO流概念与open函数操作

    IO流 input output stream 存储设备 磁盘 rom 能永久保存 读取写入速度慢 内存 ram 读取速度快 不能永久保存 断电就没了 贵 狭义 CPU运算 暂时写入内存 没读满就不存进去 见file 再存入磁盘保存 广义
  • STM32的RTC使用

    STM32的RTC使用 初始化RTC 设置时间保存时间 获取实时时间 RTC后备区另类使用 初始化RTC define RTC SET CONFIG FLAG 0x6066 lt RTC设置完成标志 判断是否第一次配置 if HAL RTC
  • 自动化运维工具Ansible基础部署与使用

    目录 一 安装部署 二 配置 Ansible最基础的模块为ping模块 主要用于判断远程客户端是否在线 用于ping本身服务器 返回值为changed ping 三 ansible批量管理 shell模块 copy模块 yum模块 file
  • MATLAB中peaks函数的用法

    MATLAB中peaks函数感觉比较有意思 是两个变量的样本函数 用法主要为 z peaks 返回一个49 49的矩阵 z peaks n 返回一个n n的矩阵 peaks n 没有输出参数时 这个函数直接使用surf来绘制peaks 默认
  • sklearn之feature_importance_参数的学习

    一 随机森林 原文链接 https blog csdn net zjuPeco article details 77371645 随机森林的算法可以用如下几个步骤概括 用有抽样放回的方法 bootstrap 从样本集中选取n个样本作为一个训
  • PBR 与 OpenGL ES 2.0 中的LOD纹理:Mipmap (关于Lod和Bias)

    MipMap 当使用Mipmap的时候可能会用到xxxLod 和 xxxBias 这几种纹理采样函数 在片段着色器中 vec4 texture2D sampler2D sampler vec2 coord vec4 textureCube
  • 对抗js前端加密的万能方法

    1 前言 现在越来越多的网站采用全报文加密 测试的时候需要逆向提取加密算法以及密钥 过程十分繁琐和复杂 本文提供一种更为简单快捷的方法来解决此问题 原理大致如下 使用浏览器的Override Hook加密前的数据 配置代理地址发送给中转服务
  • LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法

    LC滤波器简单设计法 一文读懂LC滤波器简单设计方法及原理介绍 LC值计算方法 LC滤波器概述 LC滤波器也称为无源滤波器 是传统的谐波补偿装置 LC滤波器之所以称为无源滤波器 顾名思义 就是该装置不需要额外提供电源 LC滤波器一般是由滤波
  • 【Python进阶学习】根据数据绘制省份热力地图(源码)

    输入 pro sales csv 省份与值 数据 province 省份列 deal 值列 输出 中国地图 html 优化 显示省份名称 使用notepad 打开中国地图 html 搜索 series 在1900多行这个 3 增加以下内容
  • mybatis utf8mb4 java_java.sql.SQLException: Unsupported character encoding 'utf8mb4'.

    四月 12 2017 3 47 52 下午 org apache catalina core StandardWrapperValve invoke 严重 Servlet service for servlet SpringMVC in c
  • 深度学习拾遗

    深度学习 hinton bp算法 李飞飞 吴恩达 黄广斌 路奇 深度学习优化的超参数 1 学习率 学习率 learning rate或作lr 是指在优化算法中更新网络权重的幅度大小 学习率可以是恒定的 逐渐降低的 基于动量的或者是自适应的
  • 面向高维优化问题的混沌粒子群混合蝴蝶优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 Matlab代码及详细文章讲解 4 参考文献 1 概述 文献来源 摘要 为了解决蝶形优化
  • 值类别 左值引用 右值引用

    文章目录 值类别 关系图 示例 左值引用声明符 语法 示例 反汇编 伪代码 右值引用声明符 语法 示例 反汇编 伪代码 相关参考 值类别 每个 C 表达式 运算符带上其操作数 字面量 变量名等 可按照两种独立的性质加以辨别 类型和值类别 v
  • 快手java开发面试经验大全

    1 自我介绍 2 java集合 hashmap详细介绍 关键参数 线程安全的集合 队列和栈 用两个栈实现队列算法 3 jvm结构 4 多线程锁 synchronized reentrantlock countdownlatch 锁升级 5