Deep equal so sánh đệ quy toàn bộ nested values — không dùng được === cho objects.
js
function deepEqual(a, b) {
if (a === b) return true;
if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) return false;
const keysA = Object.keys(a), keysB = Object.keys(b);
if (keysA.length !== keysB.length) return false;
return keysA.every(key => deepEqual(a[key], b[key]));
}Phỏng vấn thường hỏi để test recursion và edge cases (null, arrays).