快手java开发面经

一面
1、手撕代码:有一个有序正整数数组,找到目标元素在数组中的位置,如果有重复找出第一次出现的位置。
2、手写两道sql(关于嵌套子查询的)
3、创建线程的几种方式。
4、怎样实现线程安全,对synchorized的理解,以及它与reentrantLock的区别
5、手写线程死锁
6、手撕怎样从单链表中找出最后一个元素,要求时间复杂度小于O(N)。
7、逻辑题:一个4升和9升的杯子,怎样倒出7升的水。

二面
1、自我介绍,项目介绍。
2、项目中的难点是什么,怎么解决的,数据库表结构怎么设计的。
3、谈一谈mysql的优化,mysql索引的数据结构,B树和B+树的区别。
4、hashmap的底层数据结构以及put,get操作以及如何实现的
5、HashMap的线程安全问题
6、ConcurrentHashMap如何实现线程安全,ConcurrentHashMap put元素时为什么要采用自旋
7、jvm的内存模型(五大块)
8、java内存模型(工作内存和主内存)相关的问题
9、GC(垃圾标识算法,垃圾收集算法,垃圾处理器,何时触发Gc)
10、线程池的种类参数以及执行流程,拒绝策略。
11、手撕单链表逆序,分析时间复杂度。
#实习##快手##Java工程师##面经#
全部评论
手撕怎样从单链表中找出最后一个元素,要求时间复杂度小于O(N)。这道怎么做呀
2 回复 分享
发布于 2020-06-23 16:59
#快手Java面经# #Java面经# #实习面经# 👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
点赞 回复 分享
发布于 2020-06-24 11:04
请问快手有几面啊
点赞 回复 分享
发布于 2020-06-24 10:34

相关推荐

八股盛宴, 外加两道题目, 完全不问项目。被八股拷打了。此外,我感觉部门相当边缘, 业务摇摇欲坠。想问下大家, 百度是面试的部门就是最终的部门,还是后面会重新分配?-----------无关: 地平线 一面 G 了, 收到感谢信了。 一面手撕 hard lc 123. 买卖股票的最佳时机 III , 没撕出来。 G -------------【面试问题】🤔 每个项目都会遇到一些比较难解决的问题,你是如何解决的?📊 我看到你简历上提到使用 Redis,请介绍一下 Redis 支持的主要数据类型以及它们的典型使用场景。🎯 Redis 的 **ZSet(有序集合)** 底层使用什么数据结构?它的特点是什么?📦 你在项目中使用 Redis 的 **Stream** 作为消息队列,请简述其使用方式及如何保证消息被消费。⚠️ 如果消费者在处理消息过程中宕机,重启后如何避免重复消费?🔄 Redis 是基于内存的,如果服务重启,数据还会保留吗?请说明 Redis 的持久化机制。💾 请分别介绍一下 **RDB** 和 **AOF** 两种持久化方式的原理与区别。⚙️ 为什么 Redis 新版本会采用 **RDB + AOF 混合持久化** 的方式?⏳ 当 Redis 中的某个 Key 过期后,它的删除策略是怎样的?🗂️ 请解释一下 **LRU** 和 **LFU** 两种缓存淘汰策略的区别。🔍 Redis 是如何定期清理过期 Key 的?如果 Key 数量很大,性能如何保证?📦 什么是 Redis 的 **大 Key 问题**?如何有效解决?🔄 当数据库(DB)中的数据发生变更时,如何同步更新 Redis 缓存?⚡️ 如果某个 Key 是热点 Key(访问量极高),使用 **延迟双删** 策略会有什么问题?该如何解决?🌐 请简要说明 **TCP 三次握手** 的过程。📡 如果第一次握手(SYN)报文丢失,会发生什么?🔄 如果第二次握手(服务端返回的 SYN-ACK)报文丢失,服务端和客户端分别会发生什么?📝 请解释一下 **半连接队列** 和 **全连接队列** 的作用,以及它们分别在什么时候使用?⚠️ 当半连接队列或全连接队列满时,会有什么现象?🛡️ 什么是 **SYN Flood 攻击**?📡 请简要说明 **TCP** 与 **UDP** 的核心区别。🔌 TCP 和 UDP 能否使用同一个端口?为什么?🚦 请解释一下 **TCP 流量控制** 的实现原理。手撕:💻 请实现一个算法:给定一个数组和一个滑动窗口大小,求滑动窗口内的最大值。📊 请实现 **快速排序(Quick Sort)** 算法,并简单说明其原理。
查看25道真题和解析
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
54
分享

创作者周榜

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