Try   HackMD

Link interview: https://interview.leetcode.com/interview/detail/XgYuMx/

1 - Giới thiệu

Ứng viên giới thiệu về bản thân.

Kinh nghiệm ở FPT:

  • Debug firmware cho camera
  • Đặt log, check luồng
  • Nhận bug từ tester và chủ động sửa lỗi

Nhận xét của interviewer: cần chuẩn bị kỹ hơn về những kinh nghiệm cần nói, phrasing sao cho những việc mình làm nó được Goal-Oriented.

Personal project:

Ứng viên lựa chọn kể về Bomberman:

  • Thực thi thuật toán BFS để "creep" tìm đường đi ngắn nhất và đuổi theo nhân vật người chơi.
  • Khi được hỏi về thuật toán nào tốt hơn BFS, người phỏng vấn có gợi ý thuật toán mới sẽ không tốt hơn về mặt độ phức tạp, nhưng sẽ tối ưu hơn về thời gian chạy. Ứng viên có mô tả được ý tưởng chính của thuật toán, nhưng chưa nhớ tên (thuật toán A*)

Nhận xét của interviewer: nên chuẩn bị những project liên quan đến vị trí đang apply (Backend Dev).

Behavioural:

Ứng viên được hỏi về điểm yếu của bản thân mình trong công việc.

Ứng viên nêu hai điểm yếu:

  • Khắt khe với bản thân: đã sửa được qua thời gian làm việc ở FPT, do môi trường deadline nên phải tập hài lòng với những kết quả chưa hoàn thiện.
  • Ngại giao tiếp. Tuy nhiên, ứng viên vẫn có thể chủ động tìm gặp và chia sẻ với đồng nghiệp nếu có mắc kẹt ở một vấn đề quá lâu.

Nhận xét của interviewer: Ứng viên thật thà với bản thân.

2 - Leetcode interview

Bài toán được hỏi:

  1. https://leetcode.com/problems/split-two-strings-to-make-palindrome/

Ứng viên có biết hỏi đầy đủ thông tin, chỉ xót duy nhất thông tin về giới hạn (cũng không quá vấn đề vì ứng viên rồi cũng đã tự come up với lời giải tối ưu).

Tiếp cận từ thuật toán ngây thơ nhất -> rất tốt, giữ cho mạch của buổi phỏng vấn được trôi chảy.

Người phỏng vấn yêu cầu ứng viên tìm lối cải tiến -> ứng viên đã tìm được lời giải trong khoảng hơn 2 phút.

Ứng viên đã tự giải được bài toán sau khoảng 30 phút trình bày + coding.

Một vài thiếu xót:

  • Chưa chủ động tự sinh test trước khi code để verify với người phỏng vấn rằng đã hiểu đúng đề bài.
  • Có thể hỏi giới hạn lớn, nhỏ để xác định được đpt cuối cùng

Tuy nhiên, việc đặt áp lực cho bản thân phải nói quá nhanh, khiến ứng viên đã phải nói nhiều hơn nhưng không thực sự thoát ý, khiến trình bày nhiều lúc bị vấp. -> cần dành thêm tầm 30s sau khi nghĩ ra để sắp xếp ý, kết hợp dùng bút + nháp.

3 - Fundamental CS

Phần này chưa kịp xử lý trong thời gian quy định (60p)

Nhận xét

  • Ứng viên có tư duy toán học, giải quyết vấn đề tốt. Code sạch.
  • Kinh nghiệm qua trao đổi chưa thực sự liên quan đến nghiệp vụ công ty (Back-end dev)
  • Ứng viên chưa có sự chuẩn bị tốt cho buổi phỏng vấn.

Nhận xét hồ sơ

  • Các tác vụ làm ở các project/exp nên viết theo văn phong goal-oriented hơn, nhằm mục đích quantify lại thành quả của đóng góp mình trong tổ chức.