自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1549)
  • 收藏
  • 关注

原创 想走c++后端开发方向,如何规划学习才能成功上岸?

想走c++后端开发方向,如何规划学习才能成功上岸?

2023-07-11 16:23:53 1548

原创 转行音视频开发,怎么做?需要学哪些技术

快速入门音视频技术的方法,有吗? 资料如何快速查找

2023-02-18 17:26:40 1484 1

原创 Qt开发必备技术栈学习路线和资料

Qt开发必备技术栈学习路线和资料

2022-10-31 20:37:21 8324 3

原创 C/C++内存布局实战:如何利用内核映射与编译器优化提升性能

性能优先选栈,灵活优先选堆 :栈的访问速度是堆的 10~100 倍,小块高频分配用栈(如局部数组、小对象),大块低频分配用堆(如大数组、动态对象);全局变量慎用,static 局部更安全 :全局变量有初始化顺序问题,static 局部变量可控制初始化时机,且 C++11 后线程安全;堆碎片靠管理,内存池是良药 :频繁分配释放小块内存时,用内存池(如 boost::pool )替代 malloc ,减少碎片;

2026-01-13 17:18:58 534

原创 C++ STL 算法:从原理到工程实践

STL 算法的本质是 “泛型编程思想的落地”—— 通过迭代器解耦算法与容器,通过函数对象扩展算法逻辑,最终实现 “一次编写,多容器复用” 的高效开发模式。掌握 STL 算法,不仅是学会调用 API,更是理解 “如何设计通用、高效、安全的代码”。

2025-12-20 17:44:04 941

原创 计算机专业:C++ 与 Java 的选择与发展路径

不少计算机专业学生都会陷入一个纠结:C++ 和 Java 到底选哪个?怕一步选错,影响后续就业和职业发展。今天就从个人规划、就业竞争、高薪要素、核心能力四个维度,和大家好好聊聊这个问题,帮你理清思路。

2025-12-04 15:40:46 1012

原创 C++ 后端必备项目:实现高性能 HTTP 服务

在高并发 API 网关、低延迟静态资源服务、企业级微服务接口这些场景里,C++ 总能凭借其 “零开销抽象” 的特性占据一席之地。用 C++ 写 HTTP 服务,绝不是简单封装 Socket 那么简单 —— 从 TCP 握手的细节到 HTTP/3 的 QUIC 协议,从内存池的字节管理到 K8s 的容器编排,这是一条贯穿 “协议原理→架构设计→工程落地” 的全栈之路。今天咱们就把 C++ HTTP 服务的核心技术掰开揉碎讲清楚。

2025-11-27 21:49:26 810

原创 C++ 底层原理解析:已有指针,为何仍需引用?

指针的核心价值是灵活可控,适合需要底层操作、动态改向的场景;引用的核心价值是安全简洁,适合需要明确语义、避免拷贝的场景。两者的共存,体现了 C++"多范式适配" 的设计智慧 —— 用合适的工具解决合适的问题。现代 C++ 开发越来越强调 "安全优先",引用的地位也愈发重要。我们应告别 "指针万能论",养成 "优先用引用,必要用指针" 的习惯。// 智能指针+引用:安全访问动态内存// 引用访问,避免指针解引用冗余。

2025-11-26 20:15:09 665

原创 京东一面真题:C++ 拷贝构造函数何时生成、如何用?

在 C++ 面试中,“默认拷贝构造函数的生成时机” 是高频题,这个问题在面试中经常被问到,也是日常编码中需要特别注意的地方。看似简单但容易踩坑。今天咱们从基础概念到面试题逐步拆解,帮你把考点吃透。拷贝构造函数是 C++ 中用于 “用已存在的对象初始化同类型新对象” 的特殊构造函数,它是对象复制与初始化的核心机制,形参必须是本类对象的 const 引用(若用值传递会触发递归调用,编译报错),基本语法格式为:类名(const 类名& 源对象名);1.1、显式定义示例以Student类为例,显式实现拷贝构造函数,

2025-11-08 15:35:45 935

原创 面试加分项:C++ 运算符重载的核心语法

运算符类型必须为成员函数优先为非成员函数说明是否赋值运算符必须是成员函数[]是否下标运算符必须是成员函数()是否函数调用运算符必须是成员函数->是否成员访问运算符必须是成员函数+=, -=是通常复合赋值运算符可以是成员或非成员+, -, ==,!=, <<, >>否是对称运算符优先使用非成员函数否是混合类型运算符必须使用非成员函数关键决策点何时必须为成员函数:=, [], (), ->

2025-11-07 15:43:12 1092

原创 B 站 C++ 一面题分享:互斥锁和自旋锁有啥区别?各自该用在啥场景?

临界区是指需要原子性访问的代码段,通常被lock(加锁)和unlock(解锁)操作包裹。// 线程A的操作// 线程B的操作上述shared_counter++和shared_counter--即为临界区。若没有同步机制,两个线程可能同时修改shared_counter,导致数据不一致(如丢失更新)。核心本质:互斥锁与自旋锁的差异源于 “等待策略”—— 阻塞 vs 自旋,进而决定开销与适用场景;选择原则:临界区短(<1ms)用自旋锁(或原子操作),临界区长(>1ms)用互斥锁;

2025-11-03 15:36:51 1036

原创 传统网络不够快?RDMA 了解下!浅聊它的架构与性能

RDMA 技术的核心价值,在于通过 “内核旁路”“零数据复制” 和 “硬件卸载” 三大技术,彻底解决了传统 TCP/IP 通信中的性能瓶颈。它将数据传输的控制权从操作系统交还给硬件和应用程序,大幅降低了延迟、减少了 CPU 开销,同时提升了带宽利用率。如今,随着 AI、大数据、分布式存储等领域对高性能网络的需求日益迫切,RDMA 已从最初的超算场景,逐步普及到企业级数据中心和云服务中,成为构建高性能 IT 基础设施的关键技术之一。

2025-10-30 15:16:35 1085

原创 聊聊C++ std::function :类型擦除原理和高性能实践

std::function 是 C++11 引入的通用多态函数封装器,其本质是一个类模板,模板参数为函数签名(返回值类型 + 参数类型列表)。脱离具体可调用实体的类型,仅通过函数签名提供统一的调用接口。// 函数签名:void(int)(接受int参数,返回void)std::function 作为现代 C++ 可调用实体的 “统一接口”,其核心价值在于平衡了灵活性与易用性:它屏蔽了不同可调用实体的类型差异,却未牺牲太多性能;它支持几乎所有 C++ 可调用实体,却提供了简洁的调用方式。

2025-10-29 15:28:45 1096

原创 顺时针螺旋移动法详解:C/C++ 复杂嵌套声明与 const 常量声明怎么学?

顺时针螺旋法的核心不是记住步骤,而是建立 "以实体为中心,顺时针解析修饰符" 的思维模式。能在 30 秒内解析任意复杂度的声明能根据自然语言描述写出正确的声明能识别并重构代码中 "反人类" 的复杂声明训练计划第 1 天:解析 10 个指针与数组的基础声明第 2 天:练习 5 个函数指针的解析与编写第 3 天:挑战 3 个函数指针数组的嵌套声明第 4 天:专项训练 const 与指针的组合(10 个案例)第 5 天:用 typedef/using 简化 3 个复杂声明。

2025-10-21 21:15:47 642

原创 C++参数传递:值、指针与引用的原理与实战

值传递是最基础的参数传递方式。核心是 “传递实参的完整副本”—— 当你调用一个值传递的函数时,编译器会在函数的栈帧里,为形参创建一个独立的内存空间,然后把实参的所有数据 “原封不动” 地拷贝到这个空间里。举个具体例子:咱们在main函数里定义int num = 5,num会存在main函数的栈帧中(假设地址是0x0012ff44);

2025-10-18 14:55:47 789

原创 干货|腾讯 Linux C/C++ 后端开发岗面试

请做好 “持久战” 准备一轮/二轮:电话技术面(项目+基础)三轮/四轮:现场笔试+面试(代码+原理)五轮:复试(综合能力+技术视野)六轮:HR面(稳定性+职业规划)终面:Offer Call + 确定薪资全程无 “海投式刷人” 感,每轮都有明确考察目标 —— 前两轮筛基础,中间两轮看能力深度,后两轮定人岗匹配,建议每轮结束后及时复盘,针对性补短板。“面试的本质,是一场精准的表演。在合适的时间,展现合适的自己把自己的优势清晰地表达出来让面试官感受到你的潜力、态度和匹配度。

2025-10-13 16:12:41 1409

原创 Redis 哨兵:数据江湖里的高可用 “守护神”

哨兵模式其实就是 Redis 的高可用方案,主要用来自动检测故障,还有在出故障的时候自动转移节点,不用咱们手动去折腾。它分成四个阶段:先是时刻盯着节点的监控阶段,然后是检查有没有故障的故障检测阶段,接着是出了故障换主节点的故障转移阶段,最后是更新相关设置的配置更新阶段,一步步把高可用的活儿给干了。咱们也说了哨兵的配置方法,还有像 C++ 里用 hiredis 客户端怎么连接哨兵的例子,照着来就能把哨兵用起来。哨兵之间是靠发布 / 订阅频道通信的;故障检测分主观下线和客观下线两步;

2025-09-25 16:20:28 796

原创 想进百度、阿里、腾讯等大厂?C++ 这水平可不够

C++ 需要学多久,怎样才能学好?怎样才能达到大厂技术标准?其实这个问题不好回答...为什么呢?C++有一千个分支,你想学哪个?客户端(Qt),后端(更多的是量化和游戏),音视频流媒体,图形学,嵌入式,深度学习,存储,网络,量化,各种底层,驱动,操作系统内核等等。。。C++ 学习具有明显的阶梯性,需从语法基础逐步过渡到系统级开发能力,同时结合具体应用方向深化(如后端开发、Qt等),。

2025-09-23 14:56:24 973

原创 高频面试题——深入掌握栈和队列的数据结构技巧

栈是一种特殊的线性表,特别在哪儿呢?它只允许在固定的一端折腾 —— 要么往里塞数据,要么往外拿数据。能塞能拿的这头叫栈顶,另一头固定不动的叫栈底。栈里的数据严格遵守 “后进先出”(LIFO,Last In First Out)的规矩,新来的总往栈顶挤,要拿也只能从栈顶拿。只能在一端插入(队尾),另一端删除(队头)。允许插入的一端叫队头(Front),允许删除的一端叫队尾(Rear)。队列的核心原则是先进先出(FIFO,First In First Out)

2025-09-18 16:16:35 930

原创 ‌Qt多线程编程:QThread核心原理与实践指南‌

‌Qt多线程编程:QThread核心原理与实践指南‌

2025-09-10 15:17:19 1106

原创 C++对象模型的底层逻辑

/ 类体:成员变量(属性)和成员函数(方法)// 注意末尾的分号class是定义类的关键字;ClassName是类名;类体中的变量称为成员变量(或属性);类体中的函数称为成员函数(或方法)。1.声明和定义全部放在类体中成员函数在类内定义时,编译器可能将其视为内联函数(inline),适合简单函数。public:void Print() { // 类内定义,可能被视为内联private:int _a;// 成员变量命名建议:加下划线区分int _b;

2025-09-04 22:21:54 842

原创 ‌NAT穿透技术原理:P2P通信中的打洞机制解析‌

UDP 穿透:是目前最成熟、最广泛使用的 NAT 穿透方式,尤其适用于实时通信。TCP 穿透:实现难度高,成功率受限,但在必须使用 TCP 的 P2P 场景中有其价值。UPnP 穿透:最简单高效,适合家庭内网环境,但因安全问题在企业网络中不推荐。在实际系统(如 WebRTC)中,通常会结合多种技术(如 ICE 框架)优先尝试 UDP 打洞,失败后回退到中继(TURN)或尝试 TCP 打洞等方式,以最大化连接成功率。往期推荐为什么很多人劝退学 C++,但大厂核心岗位还是要 C++?

2025-09-01 21:25:27 1412 3

原创 打破认知:Linux管道到底有多快?

咱们今天要聊的这个玩意儿可太硬核了!有个大神写了个示例程序,展示了Linux管道读写性能的优化过程,硬是把Linux管道读写速度从3.5GiB/s直接飙到65GiB/s。虽然示例精炼,但涉及零拷贝、环形缓冲区、分页与虚拟内存、同步开销等关键技术点。尤其深入剖析了Linux内核中拼接(splice)、分页及虚拟内存地址映射的实现源码。由浅入深,从概念到代码层层递进,虽聚焦管道优化,其方法论和分析深度对开发高性能应用或Linux内核的人员极具参考价值。以下内容来自大神文章翻译:

2025-08-22 17:42:24 968

原创 英伟达C++ tegra面试:mutex底层原理是什么?

C++层 (std::mutex):优雅的接口,面向对象的“马甲”。glibc层 ():真正的“执行者”,管理锁的状态 (__lock, __owner),实现“用户态快速路径”(CAS)。内核层 (futex):最终的“仲裁者”,当用户态搞不定时,提供“睡眠/唤醒”机制,管理等待队列。整个过程就像一场接力赛:能抢就抢,抢到就赢!抢不到?进内核“候车室”(等待队列)睡觉!有人放锁?内核“调度员”喊醒一个“候车”的!被喊醒的线程,还得重新跑第一棒(CAS)!抢到算你狠,抢不到继续睡!

2025-08-14 16:04:00 958

原创 程序员的认知升级:如何设计个性化学习路径

写这篇文章的目的,是帮助那些:想入行程序员的大学生或应届生想转行做程序员的社会人士已经是程序员,但想系统化学习、构建学习体系的开发者这篇文章将从自我评估、目标设定、学习路径、学习方法、工具推荐等多个维度,帮你建立一个属于你自己的、可持续进化的学习体系。

2025-08-09 16:32:42 1071

原创 C++音视频开发:基础面试题

人耳可感知延迟的临界点(≤20ms无感)

2025-08-02 22:08:52 1155

原创 程序员一面二面的区别

很多人以为 HR 面只是走个形式,其实不然。“面试的本质,是一场精准的表演。你不需要完美无缺,但你需要:在合适的时间,展现合适的自己把自己的优势清晰地表达出来让面试官感受到你的潜力、态度和匹配度所以,别怕面试轮数多,它其实是给了你更多展示自己的机会。如果你准备充分,每一轮都是加分项;如果准备不足,哪怕一轮也可能被淘汰。

2025-07-28 21:30:50 1248

原创 大疆嵌入式一面太难?真实面经来了!

大家好,今天来给大家分享一次粉丝真实的面试经历——来自大疆的嵌入式岗位一面真题合集。说实话,这场面试的问题一个接一个,逻辑层层递进,完全不是那种“背八股文就能过”的类型。嵌入式这几年真的挺火的,尤其是对于不想卷后端、又想有一份稳定且薪资不低工作的同学来说,绝对是个值得考虑的方向。而且从实际招聘来看,嵌入式对学历要求相对没那么苛刻,更看重动手能力和项目经验。所以今天我就把这场面试的问题和参考思路都整理出来,供准备嵌入式方向的小伙伴们参考。

2025-07-23 21:49:31 1788

原创 现代C++开发必备:热门开源框架与库全解析

点击文章底部下方关注【Linux教程】,获取编程学习路线、项目教程、简历模板、大厂面试题pdf文档、大厂面经、编程交流圈子等等。

2025-07-19 19:59:49 1426

原创 解密美团万亿规模KV存储系统设计

分布式存储架构

2025-07-15 15:59:23 982

原创 从0到1学Linux:Linux进程

从0到1学Linux:Linux进程

2025-06-21 20:49:20 373

转载 C++ Qt学习路线一条龙!(桌面开发/嵌入式开发)

C++ Qt学习路线一条龙!(桌面开发/嵌入式开发)

2025-06-13 21:10:11 513

原创 二本计算机,毕业即失业?普通院校CS学生的破局指南

我带的学弟里,有双非本科进字节的,有二本拿下华为15级的。他们的共同点是:大二就看清形势,用三年时间死磕一个方向。记住,二本不是原罪,躺平才是。当你把《王者荣耀》的段位变成LeetCode的刷题量,把追剧的时间用来啃《深入理解C++》,命运的天平就会开始倾斜。

2025-05-08 21:10:14 2444

原创 应届生逆袭项目:C++ Qt开发智能电网系统:动态折线图+SQLite分库

智能电网数据监控系统主要功能是实现商业用电和居民用电数据的实时可视化展示。系统通过动态折线图直观显示用电量变化,同时将数据持久化存储,支持历史查询和分析。

2025-03-26 16:42:50 859

原创 Qt跨平台文件传输系统开发全解:TCP/IP协议+多线程架构

这篇文章,能帮我写一个标题吗?要夸张一点,有吸引力一点

2025-03-25 16:29:46 1225

原创 从零开发基于Qt6的TCP/UDP网络调试助手:技术架构与实现细节

从零开发基于Qt6的TCP/UDP网络调试助手:技术架构与实现细节

2025-03-05 20:31:18 827

原创 Qt网络编程深度实践:如何构建支持断点续传的工业级文件传输系统

Qt网络编程深度实践:如何构建支持断点续传的工业级文件传输系统

2025-03-04 16:51:28 883

原创 Qt+SQLite偷偷复刻4S店真实销售系统!薪资直接翻倍!!

Qt+SQLite偷偷复刻4S店真实销售系统!薪资直接翻倍!!

2025-03-03 21:13:34 620

原创 凭这个Qt播放器项目,收割了字节/腾讯/阿里3个SSP Offer!

凭这个Qt播放器项目,收割了字节/腾讯/阿里3个SSP Offer!

2025-02-28 20:29:59 579

原创 24小时教你做一个Qt版俄罗斯方块!信号槽优化/皮肤系统/多线程音效

24小时教你做一个Qt版俄罗斯方块!信号槽优化/皮肤系统/多线程音效

2025-02-27 20:41:19 488

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除