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

分享一次面试经历

今天不只是分享面经,还分享一下主人公的整个面试经历,看看你是否会有相同的思路或者不同的见解,可以在评论区讨论一下:

问在项目里做了什么技术贡献。实施过程中,遇到哪些困难,怎么去思考解决的,然后这个技术贡献对业务的收益

介绍了轨迹增补及去重,以及对账,主动查询任务中心等
0

问轨迹怎么判断相似的

这里他主要是想问的是车辆轨迹这种,和物流的轨迹不一样。所以这一段感觉答的不是很好。

问分库分表怎么预估容量

  • 每天数据量
  • 存储周期
  • 预估增长
  • 预留备份空间

问单表建议放多少数据

5000万行,索引高度3-4层

问用到rocketmq的哪些特性

  • 消息重试机制
  • 延迟消息

rocketmq的最大重试次数

16次

rocketmq的消息是顺序消费吗

区分顺序和并发

rocketmq消费的时候关注哪些配置

  • 并发消费还是顺序消费是消费者客户端决定的
  • tag
  • 重试次数

mysql的事务怎么实现的

Undo Log来回滚

问怎么控制版本,mvcc

垃圾回收的时候,怎么找到所有对象的存储地址

Go中所有的内存分配(如new、make或&操作符分配的内存)都是通过Go运行时的内存分配器(Allocator)完成的。这个分配器维护了一个清晰的内存分配布局:

  • 堆上的对象:由垃圾回收器负责管理,垃圾回收器知道堆上每一个已分配对象的地址和大小。
  • 栈上的对象:分配在Goroutine栈上(通常生命周期较短),GC会通过栈扫描来检查指针。
  • 分配器会记录堆内存块的元信息(Metadata),包括每个对象的起始地址、大小、以及是否包含指针等。这些信息为垃圾回收器提供了跟踪对象的基础。
  • 运行时通过以下机制完全掌握对象地址:
  • 堆的分配是有组织的:
    • 堆内存是分块管理的,GC依赖堆的元数据(如mheap和mspan)知道哪些地址上有对象。
    • 每个分配的对象都有记录,GC能通过扫描堆快速定位它们。
  • 类型元信息(Type Metadata):
    • 编译器在生成代码时会为每种类型附加元信息,包括对象的大小、结构、以及哪些字段是指针。
    • GC使用这些元信息来识别对象中的指针。
  • 栈扫描:
    • GC在运行时可以扫描每个Goroutine的栈,找到栈上的指针,这些指针指向堆中的对象。
    • 栈本身是内存中连续的区域,容易扫描。
  • Go的垃圾回收器能找到所有对象的存储地址,核心在于:
    • 运行时维护了完整的堆内存分配记录,包括每个已分配对象的起始地址、大小和指针布局。
    • 编译器生成的类型元信息帮助GC精确识别对象中的指针。
    • 堆、栈和寄存器的综合扫描,确保找到所有活动对象。
    • 写屏障和并发GC确保垃圾回收过程中不会遗漏新增或修改的对象。

gmp模型中,最多有多少个M

Go语言默认限制M的最大数量为10000。这个限制可以通过runtime/debug包中的SetMaxThreads函数来设置
P个数由GOMAXPROCS确定,默认为处理器核数

redis缓存热点数据,热点key和热点实例

  • redis集群,分散热点数据
  • 多几个实例,做负载均衡

问redis集群怎么扩容

  • 一致性hash
  • 只需要部分迁移,只迁移新增的节点旁的节点数据

读过什么源码吗?

了解过哪些架构设计的思想

  • DDD有哪些名词概念
    • 领域:指一个特定的业务范围或知识领域
    • 实体:实体是领域模型中具有唯一标识符的对象
    • 领域模型:描述了领域内的实体、值对象、聚合根以及它们之间的关系
    • 值对象:领域模型中具有唯一标识符的对象。值对象通常是不可变的
    • 聚合(Aggregate):聚合是一组相关对象的集合,它将领域模型中的实体和值对象组合在一起,作为一个数据修改的单元。例如,在电商系统中,一个订单聚合可能包含订单实体、订单项值对象、收货地址值对象等,这些对象在业务上紧密相关,共同构成了一个完整的订单概念。
    • 聚合根(Aggregate Root):聚合根是聚合中的一个特殊实体,它是聚合的入口点,外部对象只能通过聚合根来访问聚合内的其他对象。
    • 领域服务:一种无状态的操作,它用于实现领域中的业务逻辑,这些逻辑不能自然地归属于某个实体或值对象。例如,在电商系统的促销活动领域,计算商品折扣后的价格这个逻辑可能不适合放在商品实体或订单实体中,因为它涉及到促销规则等多个因素,这时就可以通过领域服务来实现这个计算逻辑。
    • 限界上下文:显示的边界,用于划分领域模型的范围
  • DDD架构思想
    • DDD通常采用分层架构,一般包括用户接口层、应用层、领域层和基础层。这种分层结构有助于分离不同的职责,使系统的各个部分更加独立和易于维护。用户接口层负责处理用户请求和展示数据,例如提供Web界面或者API接口;应用层主要协调领域层和基础层之间的操作,编排业务流程;领域层是核心,包含领域模型和领域服务,用于实现具体的业务逻辑;基础层提供数据存储、外部服务调用等基础功能。
    • 以一个电商系统的下单流程为例,用户接口层接收用户的下单请求并传递给应用层。应用层会调用领域层的领域服务来处理订单的创建,领域服务会与领域模型中的订单实体、商品实体等进行交互,完成业务逻辑,如验证商品库存、计算总价等。最后,领域层将处理结果返回给应用层,应用层再通过用户接口层将结果反馈给用户。同时,在这个过程中,基础层可能会提供数据存储服务,如将订单信息保存到数据库中。

面试官提的建议:

在这些项目中,要更多地从技术层面入手,着重强调技术所带来的贡献与收益,突出技术落地后的实际成效。另外,对于所运用的技术细节,即便大家普遍都在使用某些技术,但其安全性与应用场景紧密相关,你需要深入了解在具体的业务应用场景下,该技术是如何被应用的,包括你自身对这项技术的使用方式等细节,也都需要进一步熟悉掌握。

欢迎关注 ❤

我们搞了一个免费的面试真题共享群,互通有无,一起刷题进步。

没准能让你能刷到自己意向公司的最新面试题呢。

感兴趣的朋友们可以私信我。

相关文章:

分享一次面试经历

今天不只是分享面经,还分享一下主人公的整个面试经历,看看你是否会有相同的思路或者不同的见解,可以在评论区讨论一下: 问在项目里做了什么技术贡献。实施过程中,遇到哪些困难,怎么去思考解决的&#xff0…...

网络攻击行为可视化分析系统【数据分析 + 可视化】

一、系统背景 随着信息技术的快速发展,网络已成为现代社会不可或缺的一部分。然而,与此同时,网络攻击手段也日益多样化和复杂化,给企业和个人的信息安全带来了极大的威胁。传统的网络攻击分析方法往往依赖于人工分析和处理大量的…...

Qt 智能指针

Qt 智能指针 文章目录 Qt 智能指针QScopedPointer1. 自动删除对象2. 转移所有权3. 管理私有数据 QSharedPointer关键特性注意事项 QWeakPointer注意事项 QPointer QScopedPointer QScopedPointer 是 Qt 提供的一个智能指针,主要用于简化资源管理,防止内…...

CODESYS MODBUS TCP通信(禾川Q1 PLC作为MODBUS TCP从站)

禾川Q1 PLC MODBUS TCP 通信(PLC作为MODBUS TCP通信主站) 禾川Q1 PLC MODBUS TCP通信(CODESYS平台完整配置+代码)-CSDN博客文章浏览阅读28次。MATLAB和S7-1200PLC水箱液位高度PID控制联合仿真(MODBUSTCP通信)_将matlab仿真导入plc-CSDN博客文章浏览阅读722次。本文详细介绍了如…...

10.STM32F407ZGT6-内部温度传感器

参考: 1.正点原子 前言: 本笔记的主要目的和意义就是,再次练习ADC的使用。 32.1 内部温度传感器简介 STM32F407 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。对于STM32F407 系列来说,该温度传感器在…...

运维安全中心(堡垒机)

阿里云运维安全中心(Alibaba Cloud Operation and Maintenance Security, OMS,通常也称为“堡垒机”)是一款针对云上运维管理的安全解决方案。它专注于加强云环境中运维过程的安全性,确保对关键云资源和服务的访问可控、可审计&am…...

Linux OOM | Early OOM | 进程监视

注: 本文为 “Linux OOM” 相关文章合辑。 Linux OOM 终结者 译者:花名有孚 | 2015-07-21 08:47 现在是早晨 6 点钟。已经醒来的我正在总结到底是什么事情使得我的起床闹铃提前了这么多。我们的监控系统显示,Plumbr 服务出故障了。 现在我…...

【2024年华为OD机试】(A卷,100分)- 等和子数组最小和(Java JS PythonC/C++)

一、问题描述 题目描述 给定一个数组nums&#xff0c;将元素分为若干个组&#xff0c;使得每组和相等&#xff0c;求出满足条件的所有分组中&#xff0c;组内元素和的最小值。 输入描述 第一行输入 m 接着输入m个数&#xff0c;表示此数组nums 数据范围&#xff1a;1<m&…...

NFS服务

nfs文件系统 NFS:NetworkFileSystem网络文件系统&#xff0c;基于内核的文件系统。 服务安装 不固定端口启动&#xff0c;会注册到rpcbind&#xff08;固定端口&#xff09;服务上&#xff0c; 局域网适用[rootvm ~]# yum -y install nfs-utils # 依赖安装rpcbind [ro…...

RabbitMQ 交换机、队列和路由键的命名规范

在 RabbitMQ 中&#xff0c;使用 Topic Exchange 模式时&#xff0c;交换机、队列和路由键的命名规范是非常重要的&#xff0c;尤其是在多环境和多微服务的场景中。合理的命名规范可以提高消息系统的可维护性、可扩展性以及可读性。以下是一些关于 Topic Exchange 模式中交换机…...

腾讯云AI代码助手编程挑战赛-刑说

作品简介 鉴于当代普法力度不够大&#xff0c;这个刑说可以帮助大家更好的普及法律知识 技术架构 采用了全后端分离的架构&#xff0c;前端使用Vue.js&#xff0c;腾讯云的AI服务处理自然语言理解与生成。 实现过程 开发环境、开发流程 系统&#xff1a;win11 开发工具&…...

【测试】持续集成CI/CD

近期更新完毕&#xff0c;建议关注收藏点赞&#xff5e; 目录 概括gitJenkinspostman集成jenkins代码集成jenkins 概括 CI/CD stands for Continuous Integration and Continuous Deployment 定义 团队成果持续集成到公共平台。一天可以集成1次or多次 本地代码管理 git 远程代…...

阿里云直播Web

官方文档&#xff1a;Web播放器SDK常见问题_视频点播(VOD)-阿里云帮助中心 bug&#xff1a;播流的不稳定&#xff0c;直播总会进入 onM3u8Retry 监听&#xff0c;用户端就会黑屏&#xff0c;&#xff08;但其实并没有关播&#xff0c;正常关播进入的是pause这个监听&#xff0…...

DuckDB:PRAGMA语句动态配置数据库行为

PRAGMA语句是DuckDB从SQLite中采用的SQL扩展。PRAGMA命令可能会改变数据库引擎的内部状态&#xff0c;并可能影响引擎的后续执行或行为。本文介绍PRAGMA命令及其典型应用场景。 DuckDB PRAGMA介绍 在 DuckDB 中&#xff0c;PRAGMA 是一种编译指示&#xff08;compiler directi…...

GO通过SMTP协议发送邮件

什么是SMTP协议 SMTP&#xff08;Simple Mail Transfer Protocol&#xff0c;简单邮件传输协议&#xff09;是用于发送邮件的协议。当一个邮件服务器需要发送邮件给另一个邮件服务器时&#xff0c;它会使用SMTP协议与目标服务器建立连接&#xff0c;并传输邮件内容。SMTP协议的…...

轻量自高斯注意力机制LSGAttention模型详解及代码复现

模型背景 近年来,卷积神经网络(CNN)在高光谱图像分类领域取得了显著进展。然而,CNN面临 长距离关系建模 和 计算成本 增加的挑战。为解决这些问题,研究人员提出了基于 轻量自高斯注意(Light Self-Gaussian-Attention, LSGA) 机制的视觉转换器(Vision Transformer, VIT),旨…...

解读若依框架中的`@Excel` 和 `@Excels` 注解

文章目录 一、Excels 注解详解1.1 适用场景1.2 作用与好处 二、Excel 注解详解2.1 核心属性解析2.2 高级用法2.3 综合应用案例 三、总结 解读若依框架中的 Xss 注解博客&#xff1a;解读若依框架中的 Xss 注解 接下来我们将对若依框架中的 Excel 和 Excels 注解进行更加详细的…...

云商城--基础数据处理和分布式文件存储

第2章 基础数据处理和分布式文件存储 1.分布式文件存储系统Ceph学习 ​ 1).掌握Ceph架构 ​ 2).掌握Ceph组件 ​ 3).搭建Ceph集群(了解) 2.Ceph使用 ​ 1).基于Ceph实现文件上传 ​ 2).基于Ceph实现文件下载 3.SKU、SPU管理 ​ 1).掌握SKU和SPU关系 ​ 2).理解商品发…...

六十九:基于openssl实战验证RSA

RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是一种非对称加密算法&#xff0c;广泛应用于数据加密和数字签名领域。在实际开发和学习过程中&#xff0c;理解 RSA 的工作原理和使用场景非常重要。本文将以 OpenSSL 工具为基础&#xff0c;通过实例操作来验证和理解 RSA 的…...

Three.js 用户交互:构建沉浸式3D体验的关键

文章目录 前言一、基本交互&#xff1a;鼠标与触摸事件二、高级交互&#xff1a;键盘控制与游戏手柄支持三、物理模拟与碰撞检测四、手势识别与多点触控五、增强现实&#xff08;AR&#xff09;与虚拟现实&#xff08;VR&#xff09;六、触觉反馈与震动效果七、语音控制八、眼球…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...