aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
SAVED POSTS
aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
aedev.net
No Result
View All Result
Lập trình viên chuẩn bị phỏng vấn fresher React Native với laptop, điện thoại và thẻ câu hỏi

Map.set có đưa khóa đã tồn tại xuống cuối không?

Suong Nguyen by Suong Nguyen
13/11/2026
in Phỏng vấn
0
585
SHARES
3.2k
VIEWS
Summarize with ChatGPTShare to Facebook

Một màn hình hiển thị danh sách theo thứ tự duyệt Map. Khi sửa nhãn của phần tử đầu, người phỏng vấn hỏi nó có tự chuyển xuống cuối không. Để trả lời, cần phân biệt cập nhật bản ghi đã có với việc xóa khóa rồi đưa khóa trở lại.

Ví dụ và cách đọc

Đặc tả Map.set tìm khóa đã tồn tại và thay giá trị của entry đó. Với khóa mới, entry được thêm vào cuối. Fixture dùng hai khóa chuỗi khác nhau và chuyển Map thành mảng để kiểm tra trực tiếp thứ tự. Chạy bằng Node 24.18.1.

const assert = require('node:assert/strict');
const labels = new Map([['a', 'An'], ['b', 'Bình']]);
labels.set('a', 'Anh');
assert.deepEqual([...labels], [['a', 'Anh'], ['b', 'Bình']]);
const value = labels.get('a');
labels.delete('a');
labels.set('a', value);
assert.deepEqual([...labels.keys()], ['b', 'a']);

Kiểm tra kết quả

Sau lần set đầu, a đứng trước b nhưng giá trị mới là Anh. Sau khi xóa a rồi thêm lại, thứ tự là b rồi a. Nếu muốn sắp xếp theo lần chỉnh sửa gần nhất, hãy mô tả rõ đó là quy tắc sản phẩm, rồi chọn lưu timestamp hay chủ động đổi vị trí. Việc đổi thứ tự không nên là tác dụng phụ khó thấy của hàm sửa nhãn.

Áp dụng và giới hạn

Thêm một case cập nhật khóa giữa danh sách và một case thêm khóa mới. Kiểm tra cả giá trị lẫn thứ tự vì chỉ kiểm tra get sẽ bỏ sót thay đổi bố cục. Bài chỉ chạy fixture trên Map trong RAM. Với giao diện đọc từ database hoặc nhiều nguồn cập nhật, hãy xác định thứ tự ở nơi tạo danh sách thay vì dựa vào thời điểm request hoàn tất.

Tình huống áp dụng

Một cách trả lời phỏng vấn là dự đoán mảng khóa trước, sau đó mô tả hai thao tác mà đặc tả thực hiện. Nếu interviewer hỏi vì sao chỉ gọi set không đủ cho danh sách “vừa sửa”, hãy nêu rằng thứ tự thêm khóa và thứ tự sửa là hai dữ liệu khác nhau. Có thể dùng trường updatedAt nếu cần lưu cả thời điểm, hoặc chọn một cấu trúc dữ liệu có quy tắc thứ tự được mô tả riêng.

Trong code review, chú ý việc xóa rồi chèn có thể ảnh hưởng đến vòng lặp đang diễn ra. Fixture chuyển Map thành mảng sau mỗi thao tác, nên không mô phỏng mutation bên trong iterator. Nếu cần đổi thứ tự nhiều phần tử, tạo danh sách khóa cần sửa trước rồi áp dụng sau khi duyệt. Viết test dùng vài nhãn trùng nhau nhưng khóa khác nhau để chứng minh thứ tự đang dựa trên khóa. Đừng lấy chuỗi hiển thị làm khóa nếu hai bản ghi có thể cùng tên.

Nguồn tham khảo

  • Tài liệu chính thức 1

Tags: JavaScriptMapPhỏng vấn
SummarizeShare234
Suong Nguyen

Suong Nguyen

Related Stories

Lập trình viên chuẩn bị phỏng vấn fresher React Native với laptop, điện thoại và thẻ câu hỏi

Map.get trả undefined: khóa không tồn tại hay đã lưu giá trị undefined?

by Suong Nguyen
12/11/2026
0

Dùng Map.has để phân biệt sự hiện diện của khóa và giá trị lưu, với ví dụ cache kết quả tra cứu.

Lập trình viên chuẩn bị phỏng vấn fresher React Native với laptop, điện thoại và thẻ câu hỏi

Promise.finally: return giá trị mới có thay kết quả của chuỗi không?

by Suong Nguyen
11/11/2026
0

Kiểm tra ba tình huống Promise.finally: trả giá trị thường, cleanup bất đồng bộ thành công và cleanup ném lỗi.

Lập trình viên chuẩn bị phỏng vấn fresher React Native với laptop, điện thoại và thẻ câu hỏi

Phỏng vấn JavaScript: object mặc định của tham số được tạo khi nào?

by Suong Nguyen
10/11/2026
0

Phân biệt object literal trong default parameter với object dùng chung bên ngoài hàm, rồi kiểm tra thời điểm chạy biểu thức tạo giá trị mặc định.

Lập trình viên chuẩn bị phỏng vấn fresher React Native với laptop, điện thoại và thẻ câu hỏi

Phỏng vấn JavaScript: throw trong async function đi vào catch nào?

by Suong Nguyen
09/11/2026
0

Theo dõi lỗi ném trước await trong async function, bắt rejection đúng chỗ và dùng assert.rejects để kiểm tra hợp đồng lỗi.

Next Post
Minh hoạ style và layout trong React Native với màn hình mobile, spacing và typography

React Native Alert trên Android và hai đường hủy hộp thoại

0 0 votes
Article Rating
Subscribe
Login
Notify of
guest
guest
0 Comments
Oldest
Newest Most Voted
AE Dev

AE Dev mang đến các bài viết về lập trình, mobile app, backend, frontend, WordPress và công nghệ, phù hợp cho developer muốn học hỏi và cập nhật kiến thức thực tế.

Recent Posts

  • React Native Alert trên Android và hai đường hủy hộp thoại
  • Map.set có đưa khóa đã tồn tại xuống cuối không?
  • Android postInvalidate khi custom View cần lên lịch vẽ lại

Categories

  • AI
  • Backend
  • Đánh giá
  • DevOps
  • Flutter
  • Hướng dẫn
  • Lập trình Mobile
  • Phỏng vấn
  • React Native
  • Uncategorized

Weekly Newsletter

  • Buy JNews
  • Support Forum
  • Pre-sale Question
  • Contact Us

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Trang chủ
  • AI
  • Mobile
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
  • Flutter

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.

wpDiscuz
0
0
Would love your thoughts, please comment.x
()
x
| Reply