Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
疯狂的TalentQ
累计撰写
102
篇文章
累计创建
0
个标签
累计收到
0
条评论
栏目
Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
目 录
CONTENT
最新文章
2025-09-23
C++ 实现LRU
1 题目 Leetcode 题目:LRU缓存机制 早有耳闻,从来没有看过代码,在面试中又翻车了。实际上代码很简单也很好理解: 手动构建和管理双向链表,链表维护着 capacity 和 size; head 始终是最新访问的节点; 当 size 超过 capacity 的时候,删除 tail 节点;
2025-09-23
6
0
0
高频考题
LeetCode
2025-09-18
C++ 实现 sqrt()
题目描述 C++中提供了 sqrt() 用于计算算术平方根: #include <iostream> #include <cmath> int main() { int n = 17; double res = std::sqrt(n); std::cout << res <<
2025-09-18
3
0
0
LeetCode
高频考题
2025-09-18
静态链接 & 动态链接
静态链接 (Static Linking) 时机:在程序编译/链接期完成。 行为:链接器将程序所有用到的静态库(.a/.lib)中的代码和数据,直接复制到最终的可执行文件中。最终生成的是一个完全自包含的独立文件。 动态链接 (Dynamic Linking)
2025-09-18
2
0
0
知识点
C++
2025-09-18
C++ 从源文件到可执行文件经历的过程
0 概述 四个步骤:预处理(Preprocessing)-> 编译(Compilation)-> 汇编(Assembly)-> 链接(Linking) 1 预处理 输入:原始的C++源文件(.cpp, .h, .hpp) 输出:经过处理的“纯”C++文件(通常为 .i 或 .ii 后缀) g++ -
2025-09-18
6
0
0
知识点
C++
2025-09-13
C++ mutable
1 概念 mutable 关键字用于声明一个类的成员变量,表示该变量即使在 const 成员函数中也可以被修改。这打破了常规的 const 成员函数不能修改类成员的限制。 class ClassName { mutable type member_name; // ... }; 2
2025-09-13
0
0
0
C++
知识点
2025-09-13
C++ 函数隐藏(Function Hiding)
1 概念 函数隐藏指的是派生类中定义的函数会"隐藏"基类中同名的函数,无论参数列表是否相同,基类的同名函数都会被隐藏。 通过派生类对象无法直接访问被隐藏的基类函数,需要使用 对象::基类名::函数 的格式才能访问。 2 原理 C++的名称查找遵循以下规则: 首先在当前类作用域中查找名称 如果找到,停
2025-09-13
3
0
0
C++
知识点
2025-09-12
Ubuntu 创建新用户并添加sudo权限
1 创建用户 sudo adduser <USERNAME> 这是一个交互式命令,会提示输入密码等信息,其他信息可以不填直接回车。 2 添加 sudo 权限 添加权限: \ 切换用户: su - <USERNAME> 验证权限: sudo whoami</
2025-09-12
4
0
0
Linux
2025-09-11
C++ 深拷贝和浅拷贝
浅拷贝 (Shallow Copy) 是什么:编译器默认生成的拷贝构造函数和赋值运算符重载函数进行的拷贝就是浅拷贝。它进行的是按成员拷贝(member-wise copy),即简单地将原对象的每个成员的值复制给新对象。 对指针的影响:如果对象中有指针成员,浅拷贝只会复制这个指针变量本身(即内存地址)
2025-09-11
0
0
0
C++
知识点
2025-09-11
C++ 优化多线程程序,需要考虑什么?
减少锁的竞争 缩小临界区:只将必须互斥的代码用锁保护起来,尽快释放锁。避免在临界区内进行耗时操作(如I/O、复杂计算)。 使用更细粒度的锁:不要用一个“大锁”保护所有数据。使用多个锁保护不同的数据,允许线程并行访问不同的资源。(例如,一个锁保护用户列表,另一个锁保护日志文件)。 使用读写锁:如 st
2025-09-11
2
0
0
C++
知识点
2025-09-11
C++ 无锁结构
C++ 无锁结构是一种通过原子操作(如 std::atomic 及其 compare_exchange_strong/weak CAS 操作)而非互斥锁来实现线程安全并发访问的数据结构。 它的核心优势在于避免了锁带来的死锁、优先级反转和高争用下的性能开销,能提供更可预测的低延迟。 然而,实现正确的无
2025-09-11
3
0
0
C++
知识点
1
2
3
4
5
...
11