当前位置: 首页 > news >正文

【面经分享】滴滴

ArrayList、LinkedList

ArrayList 基于数据实现

  • 查找效率高
  • 增删效率低

LinkedList 基于链表实现

  • 增删效率高
  • 查找效率低

HashMap

JDK 1.7:数组 + 链表

JDK 1.8:数组 + (链表 | 红黑树)

  • 树化条件:数组长度 >= 64 ,且链表长度 >= 8 (会先扩容)

MySQL 索引

B +树

Hash 索引

倒排索引

Redis 缓存一致性

先更新数据库,再删缓存。

分布式锁底层

Bitmap

0 1 数组

MQ 如何保证不重不漏 ?

不重:

  • 主要就是 Consumer 端做 防重设计。

Producer 端会阻塞等待 Broker 返回 ACK,否则重试。

Broker

Consumer

不漏:

Producer 端会重试。

Broker 端刷盘持久化。(同步/异步)

Consumer 端消费完之后,返回 ACK 消息给 Broker。

单例模式

public class Klass {private Klass(){}private static volatile Klass obj;public static Klass getObj(){if(obj == null){synchronized (Klass.class){if(obj == null){obj = new Klass();}}}return obj;}}

算法:字符串转数字/大数相乘

43. 字符串相乘 - 力扣(LeetCode)

大数相乘:(字符串模拟)

class Solution {public String multiply(String num1, String num2) {int n = num1.length(), m = num2.length();int[] str1 = new int[n], str2 = new int[m];// 反转数组for (int i = 0; i < n; i++)str1[i] = num1.charAt(n - i - 1) - '0';for (int i = 0; i < m; i++)str2[i] = num2.charAt(m - i - 1) - '0';// 模拟竖式计算int[] res = new int[n + m];for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {res[i + j] += str1[i] * str2[j];}}// 进位int carry = 0;for (int i = 0; i < m + n; i++) {res[i] += carry;carry = res[i] / 10;res[i] %= 10;}// 去除前导0int end = m + n - 1;while (end >= 0 && res[end] == 0)end--;// 拼接答案StringBuilder sb = new StringBuilder();while (end >= 0) {sb.append((char) (res[end] + '0'));end--;}return sb.toString().length() != 0 ? sb.toString() : "0";}
}

相关文章:

  • 从 CLIP 和 Qwen2.5-VL 入门多模态技术
  • 多层感知器MLP实现非线性分类(原理)
  • Appium如何支持ios真机测试
  • n8n:解锁自动化工作流的无限可能
  • UDP包大小与丢包率的关系:原理分析与优化实践
  • Java 中 ArrayList、Vector、LinkedList 的核心区别与应用场景
  • 【C语言练习】080. 使用C语言实现简单的数据库操作
  • 【Linux】进程 信号保存 信号处理 OS用户态/内核态
  • 2025年智能物联网与电子信息国际会议 (IITEI 2025)
  • #开发环境篇:postMan可以正常调通,但是浏览器里面一直报403
  • 【DAY39】图像数据与显存
  • Educational Codeforces Round 179 (Rated for Div. 2)(A-E)
  • 《复制粘贴的奇迹:原型模式》
  • H5移动端性能优化策略(渲染优化+弱网优化+WebView优化)
  • nest实现前端图形校验
  • 编程技能:格式化打印04,sprintf
  • python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
  • 前端面试真题(第一集)
  • 解决com.jcraft.jsch.JSchException: Algorithm negotiation fail
  • Spring Boot应用开发实战
  • 网站建设维护管理办法/软文平台有哪些
  • 网站源码 一品资源网/网站首页排名seo搜索优化
  • 怎样做免费网站推广/网络服务器有哪些
  • mac可以做网站服务器吗/信息如何优化上百度首页公司
  • 中卫网站网站建设/实体店怎么引流推广
  • 网站制作素材全套/提高工作效率的方法有哪些