React列表key应使用数据中的稳定唯一标识。会插入、删除、排序的列表不要用数组下标或Math.random,否则组件状态可能跟错数据或被反复重建。key只要求同级唯一,不传prop,业务ID需单独传。用插入、删除和重排三组操作测试key是否正确。
JavaScript数组排序默认按字符串比较,数字必须传(a,b)=>a-b。sort原地修改数组,toSorted返回新数组。中文字符串用localeCompare或Intl.Collator,对象多字段用比较器链。比较函数返回负数、零、正数三类结果,不能返回boolean。空值和NaN要显式处理,稳定排序不等于正确排序。
MongoDB聚合查询可先用match缩小数据,再用match缩小数据,再用group分组计算,最后用project整理字段。project整理字段。match放在前部可利用索引,group是阻塞阶段需关注内存,group是阻塞阶段需关注内存,project可改名、计算和排除_id。逐阶段增加并保存快照,用explain检查索引和扫描文档数。
C++智能指针按所有权选择:单一所有者用unique_ptr,多个共同所有者用shared_ptr,只观察不拥有用weak_ptr。优先使用make_unique和make_shared,避免从同一裸指针构造多个shared_ptr。循环引用用weak_ptr打断。函数参数只在需要延长寿命时传shared_ptr,否则传引用或裸指针。
Docker镜像太大时,先用history找出大层,再缩小构建上下文、拆分构建与运行阶段,并只保留生产依赖。删除文件要和创建缓存在同一RUN中,否则前一层仍占空间。多阶段构建让build阶段装工具链,runtime阶段只复制产物。优化后要检查大小、安全与可运行性。