分享一次面试经历
今天不只是分享面经,还分享一下主人公的整个面试经历,看看你是否会有相同的思路或者不同的见解,可以在评论区讨论一下:
问在项目里做了什么技术贡献。实施过程中,遇到哪些困难,怎么去思考解决的,然后这个技术贡献对业务的收益
介绍了轨迹增补及去重,以及对账,主动查询任务中心等
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接口;应用层主要协调领域层和基础层之间的操作,编排业务流程;领域层是核心,包含领域模型和领域服务,用于实现具体的业务逻辑;基础层提供数据存储、外部服务调用等基础功能。
- 以一个电商系统的下单流程为例,用户接口层接收用户的下单请求并传递给应用层。应用层会调用领域层的领域服务来处理订单的创建,领域服务会与领域模型中的订单实体、商品实体等进行交互,完成业务逻辑,如验证商品库存、计算总价等。最后,领域层将处理结果返回给应用层,应用层再通过用户接口层将结果反馈给用户。同时,在这个过程中,基础层可能会提供数据存储服务,如将订单信息保存到数据库中。
面试官提的建议:
在这些项目中,要更多地从技术层面入手,着重强调技术所带来的贡献与收益,突出技术落地后的实际成效。另外,对于所运用的技术细节,即便大家普遍都在使用某些技术,但其安全性与应用场景紧密相关,你需要深入了解在具体的业务应用场景下,该技术是如何被应用的,包括你自身对这项技术的使用方式等细节,也都需要进一步熟悉掌握。
欢迎关注 ❤
我们搞了一个免费的面试真题共享群,互通有无,一起刷题进步。
没准能让你能刷到自己意向公司的最新面试题呢。
感兴趣的朋友们可以私信我。
相关文章:
分享一次面试经历
今天不只是分享面经,还分享一下主人公的整个面试经历,看看你是否会有相同的思路或者不同的见解,可以在评论区讨论一下: 问在项目里做了什么技术贡献。实施过程中,遇到哪些困难,怎么去思考解决的࿰…...
网络攻击行为可视化分析系统【数据分析 + 可视化】
一、系统背景 随着信息技术的快速发展,网络已成为现代社会不可或缺的一部分。然而,与此同时,网络攻击手段也日益多样化和复杂化,给企业和个人的信息安全带来了极大的威胁。传统的网络攻击分析方法往往依赖于人工分析和处理大量的…...
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,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。 输入描述 第一行输入 m 接着输入m个数,表示此数组nums 数据范围:1<m&…...
NFS服务
nfs文件系统 NFS:NetworkFileSystem网络文件系统,基于内核的文件系统。 服务安装 不固定端口启动,会注册到rpcbind(固定端口)服务上, 局域网适用[rootvm ~]# yum -y install nfs-utils # 依赖安装rpcbind [ro…...
RabbitMQ 交换机、队列和路由键的命名规范
在 RabbitMQ 中,使用 Topic Exchange 模式时,交换机、队列和路由键的命名规范是非常重要的,尤其是在多环境和多微服务的场景中。合理的命名规范可以提高消息系统的可维护性、可扩展性以及可读性。以下是一些关于 Topic Exchange 模式中交换机…...
腾讯云AI代码助手编程挑战赛-刑说
作品简介 鉴于当代普法力度不够大,这个刑说可以帮助大家更好的普及法律知识 技术架构 采用了全后端分离的架构,前端使用Vue.js,腾讯云的AI服务处理自然语言理解与生成。 实现过程 开发环境、开发流程 系统:win11 开发工具&…...
【测试】持续集成CI/CD
近期更新完毕,建议关注收藏点赞~ 目录 概括gitJenkinspostman集成jenkins代码集成jenkins 概括 CI/CD stands for Continuous Integration and Continuous Deployment 定义 团队成果持续集成到公共平台。一天可以集成1次or多次 本地代码管理 git 远程代…...
阿里云直播Web
官方文档:Web播放器SDK常见问题_视频点播(VOD)-阿里云帮助中心 bug:播流的不稳定,直播总会进入 onM3u8Retry 监听,用户端就会黑屏,(但其实并没有关播,正常关播进入的是pause这个监听࿰…...
DuckDB:PRAGMA语句动态配置数据库行为
PRAGMA语句是DuckDB从SQLite中采用的SQL扩展。PRAGMA命令可能会改变数据库引擎的内部状态,并可能影响引擎的后续执行或行为。本文介绍PRAGMA命令及其典型应用场景。 DuckDB PRAGMA介绍 在 DuckDB 中,PRAGMA 是一种编译指示(compiler directi…...
GO通过SMTP协议发送邮件
什么是SMTP协议 SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是用于发送邮件的协议。当一个邮件服务器需要发送邮件给另一个邮件服务器时,它会使用SMTP协议与目标服务器建立连接,并传输邮件内容。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 注解博客:解读若依框架中的 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(Rivest-Shamir-Adleman)是一种非对称加密算法,广泛应用于数据加密和数字签名领域。在实际开发和学习过程中,理解 RSA 的工作原理和使用场景非常重要。本文将以 OpenSSL 工具为基础,通过实例操作来验证和理解 RSA 的…...
Three.js 用户交互:构建沉浸式3D体验的关键
文章目录 前言一、基本交互:鼠标与触摸事件二、高级交互:键盘控制与游戏手柄支持三、物理模拟与碰撞检测四、手势识别与多点触控五、增强现实(AR)与虚拟现实(VR)六、触觉反馈与震动效果七、语音控制八、眼球…...
Blender渲染通道完全指南:如何像电影后期一样,分离出深度、阴影与反射图
Blender渲染通道完全指南:影视级后期制作的深度解析在数字内容创作领域,Blender已经从一个简单的3D建模工具成长为能够处理复杂视觉特效的全流程解决方案。对于追求影视级质量的中高级用户而言,掌握渲染通道技术是提升作品专业度的关键一步。…...
Win10系统清理避坑指南:你的BAT脚本真的安全吗?盘点那些不能乱删的文件
Win10系统清理避坑指南:BAT脚本安全操作手册每次看到那些号称"一键清理系统垃圾"的BAT脚本在技术论坛被疯狂转发,我的工程师朋友老张就会忍不住摇头。上周他刚帮一位设计师修复了崩溃的Photoshop——原因正是某个清理脚本删除了Adobe的临时工作…...
从入门到实践:EEG公开数据集分类与应用场景全解析
1. EEG公开数据集入门指南刚接触脑电信号分析的研究者,常常会被一个问题困扰:"我应该从哪里获取可靠的EEG数据?"作为一个在这个领域摸爬滚打多年的研究者,我完全理解这种困惑。记得我第一次接触EEG研究时,光…...
保姆级教程:Windows系统下Arcgis 10.2从下载、安装到汉化一次搞定(附常见License启动失败解决方案)
Windows系统下Arcgis 10.2完整安装与汉化实战指南第一次接触Arcgis的新手往往会被复杂的安装流程和神秘的License Manager搞得晕头转向。作为一款功能强大的地理信息系统软件,Arcgis在科研、城市规划、环境监测等领域有着广泛应用,但它的安装过程确实会让…...
Python UiAutomation实战:从网页数据抓取到桌面应用,一个库打通数据采集全链路
Python UiAutomation实战:打通数据采集全链路的智能解决方案 在数据驱动的商业环境中,企业常常面临跨平台数据采集的挑战——财务系统里的交易记录需要与网站后台的报表进行交叉分析,销售数据要从桌面软件导出后上传到云端处理系统。传统的人…...
从RD、CS到WK:一文讲透SAR主流成像算法的演进与选型实战
从RD、CS到WK:SAR成像算法选型实战指南 当无人机掠过灾区上空,或卫星扫描地球表面时,合成孔径雷达(SAR)正通过电磁波穿透云层和黑暗,将地面信息转化为高分辨率图像。而决定图像质量的关键,在于工…...
基于MAX78000的医疗紧急呼叫系统:边缘AI与低功耗设计实战
1. 项目概述与核心价值大家好,我是Victor Hugo,一名电子工程师。今天我想和大家分享一个我最近完成并参与设计竞赛的项目:一个基于MAX78000 FTHR开发板的医疗紧急呼叫辅助系统。这个项目的核心,不是从零开始造一个新轮子ÿ…...
Postgresql基础实践教程(九)
⭐️⭐️⭐️⭐️⭐️ 完整数据详见 练习数据免费 ⭐️⭐️⭐️⭐️⭐️ 七十二、WITH查询(公用表表达式CTE) 1. SELECT 中的 WITH 2. 递归查询 3. 公用表表达式的物化 4. WITH中的数据修改语句 WITH提供了一种在主查询中写辅助语句的方法。这些语…...
AI圈内火热的Agent、MCP、Skill、CLI是啥?用装修房子讲透,看完秒懂
本文用装修房子的比喻,详细解释了AI领域的四个核心概念:Agent如同会自主规划任务的私人助理;MCP是AI与外部工具数据的统一接口,类似USB-C;Skill是指导AI按标准操作执行的手册;CLI则是不依赖图形界面的命令行…...
打造XBEE封装BLE112蓝牙模块:硬件设计、射频布局与调试全攻略
1. 项目概述:为什么我们需要一个“XBEE格式”的蓝牙模块?在嵌入式开发和物联网项目中,无线通信模块的选择往往决定了项目的成败。对于很多工程师和创客来说,Silicon Labs(芯科科技)的BLE112/113模块是蓝牙4…...
