Interview Experience
MIỄN PHÍSoftware Engineer
Mid-level · E-commerce / Retail · Úc
Bối cảnh trải nghiệm
OA chỉ là bước khởi đầu: vòng technical tại Công ty E đi khá sâu vào Frontend Fundamentals, culture fit, live coding và một bài system design kiểu Uber/Grab.
Phỏng vấn Frontend Engineer tại Công ty E: OA, Culture Fit, Live Coding và System Design
My Experience
Tổng quan
Đây là trải nghiệm phỏng vấn cho vị trí Frontend Engineer tại Công ty E, với level ứng viên định hướng từ Mid đến Senior và hình thức làm việc Remote.
Quy trình gồm:
CV Screening → OA → HR Call → Technical Interview → Offer
Điểm đáng chú ý nhất nằm ở vòng Technical Interview. Bên cạnh Web Fundamentals, JavaScript, React và Live Coding, interviewer dành khá nhiều thời gian cho culture fit, đặc biệt là khả năng làm việc trong môi trường remote, leadership, time management và cách xử lý vấn đề giữa các team.
Phần system design cũng xuất hiện trong interview và yêu cầu ứng viên thiết kế một hệ thống tương tự Uber/Grab.
0. CV Screening
Ứng viên gửi CV vào tối Chủ nhật.
Đến chiều thứ Hai, HR đã phản hồi và gửi bài test. Như vậy, chỉ mất khoảng một ngày từ lúc nộp CV đến khi nhận được OA.
1. Online Assessment
OA gồm 4 câu, chia thành hai nhóm chính.
Algorithm
Có 2 bài thuật toán liên quan đến Graph, sử dụng các hướng tiếp cận như DFS/BFS và được ứng viên đánh giá ở mức tương đương Easy trên LeetCode.
Frontend
2 câu còn lại tập trung vào xử lý bài toán ở phía Frontend.
Một trong những bài được ứng viên nhớ rõ là yêu cầu implement một Auto Complete component.
Dạng bài này không chỉ kiểm tra khả năng viết JavaScript/Frontend code mà còn có thể mở ra nhiều vấn đề thực tế như xử lý input, filtering, rendering và quản lý interaction với người dùng.
2. HR Call
Điểm khá đặc biệt là HR call diễn ra sau khi ứng viên đã hoàn thành OA, nhưng tại thời điểm HR liên hệ, ứng viên chưa được thông báo rõ là đã pass OA hay chưa.
Buổi HR call tập trung vào hai nhóm chính:
- English communication
- Work experience / communication screening
Khoảng 10 phút đầu được sử dụng để kiểm tra khả năng giao tiếp bằng tiếng Anh với những câu hỏi behavioral tương đối phổ biến, chẳng hạn:
- Đã từng conflict với đồng nghiệp chưa?
- Bạn xử lý conflict đó như thế nào?
- Bạn thường giải quyết vấn đề trong công việc ra sao?
Sau đó HR trao đổi thêm về công việc hiện tại và quá trình làm việc của ứng viên, đồng thời đánh giá khả năng communication.
HR cho biết sẽ chờ manager review bài test và screening CV trước khi quyết định bước tiếp theo.
Khoảng 1–2 ngày sau, ứng viên nhận được lịch Technical Interview.
3. Technical Interview
Đây là vòng quan trọng nhất trong toàn bộ process.
Theo lịch ban đầu, interview được dự kiến kéo dài khoảng 120 phút, với sự tham gia của:
- 1 Senior Engineer
- 1 Lead Engineer
Tuy nhiên, theo chia sẻ của ứng viên, actual interview kéo dài hơn 3 giờ do phần discussion và technical interview đi khá sâu.
Culture Fit
Phần đầu do Lead Engineer phụ trách và tập trung nhiều vào culture fit.
Theo trải nghiệm của ứng viên, Công ty E khá chú trọng phần này vì đặc thù làm việc remote đòi hỏi engineer không chỉ hoàn thành task mà còn phải chủ động trong communication và collaboration.
Các chủ đề được đào sâu gồm:
- Mindset
- Leadership
- Time management
- Cách xử lý issue
- Conflict giữa các team
- Collaboration trong môi trường remote
- Cách ứng viên tự quản lý công việc khi không làm việc trực tiếp tại văn phòng
Điểm đáng chú ý là culture fit ở đây không chỉ xoay quanh những câu hỏi chung chung như “Bạn có thích làm việc nhóm không?”.
Interviewer có xu hướng đưa ứng viên vào những workplace scenarios cụ thể để xem cách họ reasoning và đưa ra quyết định.
Frontend Technical
Sau phần culture fit, Senior Engineer chuyển sang technical interview.
Các nhóm kiến thức chính gồm:
- Web Fundamentals
- JavaScript Fundamentals
- React Fundamentals
- Live Coding
- System Design
Với Frontend, phạm vi câu hỏi tương đối rộng thay vì chỉ tập trung vào React API.
Điều này cho thấy interviewer không chỉ muốn biết ứng viên có sử dụng framework thành thạo hay không, mà còn quan tâm đến nền tảng phía dưới: browser, JavaScript execution, rendering, asynchronous behavior và web fundamentals.
Live Coding
Live coding bắt đầu bằng một problem statement được interviewer đưa ra.
Điểm đáng chú ý là ứng viên không được yêu cầu đơn thuần “code cho chạy”, mà trước tiên phải:
- Verify requirement
- Xác định những điểm chưa rõ
- Đưa ra approach
- Propose solution
- Sau đó mới bắt đầu implement
Pseudo code được chấp nhận trong quá trình trình bày solution.
Đây là format khá sát với cách giải quyết một task thực tế: requirement thường không hoàn toàn rõ ràng ngay từ đầu, và engineer cần chủ động xác nhận assumption trước khi bắt tay vào implementation.
System Design
Phần system design yêu cầu ứng viên thiết kế một hệ thống tương tự Uber/Grab.
Bài toán dạng này có thể mở rộng từ những requirement cơ bản như:
- User đặt chuyến
- Driver nhận request
- Matching giữa rider và driver
- Tracking trạng thái chuyến
sang những vấn đề technical lớn hơn:
- Real-time location
- Matching
- Scalability
- API design
- Data storage
- High traffic
- Fault tolerance
- Communication giữa các services
Ứng viên chia sẻ rằng system design là phần bản thân chưa chuẩn bị đủ, do trước đó chưa học system design một cách bài bản.
Đây cũng là phần ứng viên tự đánh giá rằng mình chưa thể hiện được nhiều như kỳ vọng.
4. Offer & Negotiation
Sau interview process, HR thông báo ứng viên đã nhận được offer.
Tuy nhiên, package ban đầu chưa đáp ứng expectation của ứng viên.
Hai bên tiếp tục negotiation trong khoảng 1 tuần, nhưng theo chia sẻ của ứng viên, offer cuối cùng không thay đổi.
Một điểm ứng viên lưu ý là package được tính theo 12 tháng, vì vậy khi so sánh compensation giữa các công ty, nên xem kỹ cách công ty cấu trúc annual package thay vì chỉ nhìn vào monthly salary.
Ứng viên cũng chia sẻ rằng theo trải nghiệm cá nhân, sau khi HR gửi offer letter, khả năng tiếp tục negotiation gần như không còn. Đây là trải nghiệm trong process này và không nên hiểu như một chính sách áp dụng tuyệt đối cho mọi trường hợp tại Công ty E.
Interview Intelligence
Requirement clarification là một phần của technical skill
Việc interviewer yêu cầu ứng viên tự verify requirement trước khi coding là một signal khá đáng chú ý.
Trong môi trường production, requirement hiếm khi hoàn toàn rõ ràng. Nếu engineer bắt đầu implementation dựa trên assumption sai, phần code phía sau có thể hoàn toàn đúng về mặt syntax nhưng vẫn giải quyết sai business problem.
Vì vậy, trước khi code nên xác định:
- Input là gì?
- Expected output là gì?
- Có edge case nào?
- Performance requirement là gì?
- Có constraint nào về data hoặc API không?
- Requirement nào đang chưa rõ?
Frontend interview không chỉ là React
Một Frontend Engineer có thể sử dụng React hàng ngày, nhưng interview vẫn có thể quay về những nền tảng thấp hơn:
Browser → Web → JavaScript → React
Hiểu JavaScript execution model, asynchronous behavior, browser rendering và network fundamentals giúp ứng viên giải thích được vì sao React application behave theo một cách nhất định, thay vì chỉ nhớ cách sử dụng framework APIs.
System Design là một skill riêng
Ứng viên tự nhận xét rằng mình chưa chuẩn bị system design đủ kỹ và đây là phần thể hiện chưa tốt.
Đây cũng là một lesson đáng chú ý cho những ứng viên muốn phát triển từ Mid lên Senior: coding skill và system design skill có liên quan nhưng không phải cùng một skill.
Một engineer có thể giải quyết tốt algorithm và frontend implementation nhưng vẫn cần luyện thêm cách:
- Clarify requirements
- Estimate scale
- Design APIs
- Choose data storage
- Handle real-time communication
- Identify bottlenecks
- Discuss trade-offs
- Design for failure
Remote culture làm tăng yêu cầu về communication
Khi không có nhiều interaction trực tiếp, những vấn đề như ownership, communication, documentation và time management trở nên quan trọng hơn.
Vì vậy, việc Công ty E dành nhiều thời gian cho culture fit có thể được nhìn dưới góc độ đánh giá khả năng làm việc trong một environment mà engineer cần tự quản lý và chủ động giao tiếp nhiều hơn.
Nhìn lại interview process
Điểm nổi bật của process tại Công ty E là sự kết hợp giữa technical depth và culture fit.
Ở technical side, ứng viên cần chuẩn bị tương đối rộng:
Web Fundamentals → JavaScript → React → Live Coding → System Design
Trong khi đó, culture fit lại tập trung vào những năng lực thực tế đối với môi trường remote:
Communication → Ownership → Time Management → Collaboration → Conflict Resolution
Vì vậy, đây không phải dạng interview mà chỉ cần chuẩn bị một bộ câu hỏi React hoặc một số bài LeetCode là đủ.
Đặc biệt, live coding và system design đều có một điểm chung: interviewer muốn biết ứng viên reason như thế nào trước khi đưa ra solution, thay vì chỉ nhìn vào output cuối cùng.
Quy trình phỏng vấn
Quá trình phỏng vấn
Quy trình tại Công ty E gồm 4 bước chính:
CV Screening → OA → HR Call → Technical Interview → Offer
Round 1 — Online Assessment
OA gồm 4 câu:
- 2 bài Algorithm liên quan đến Graph / DFS / BFS
- 2 bài Frontend, trong đó có bài implement Auto Complete
Ứng viên đánh giá phần algorithm ở mức tương đương Easy trên LeetCode.
Round 2 — HR Call
HR call diễn ra sau khi ứng viên hoàn thành OA.
Khoảng 10 phút đầu tập trung vào English communication với các câu hỏi behavioral như:
- Đã từng conflict với đồng nghiệp chưa?
- Bạn giải quyết conflict như thế nào?
Sau đó HR trao đổi về công việc, experience và đánh giá communication.
Khoảng 1–2 ngày sau, ứng viên được mời vào Technical Interview.
Round 3 — Technical Interview
Interview dự kiến khoảng 120 phút với 1 Senior Engineer và 1 Lead Engineer, nhưng actual kéo dài hơn 3 giờ.
Phần đầu là Culture Fit, tập trung vào:
- Mindset
- Leadership
- Time management
- Remote working
- Collaboration
- Conflict giữa các team
- Issue handling
Phần technical tiếp theo gồm:
- Web Fundamentals
- JavaScript Fundamentals
- React Fundamentals
- Live Coding
- System Design
Live coding yêu cầu ứng viên verify requirement, clarify ambiguity và propose solution trước khi implement.
System design yêu cầu thiết kế một hệ thống tương tự Uber/Grab.
Offer & Negotiation
Ứng viên nhận được offer nhưng package ban đầu chưa đạt expectation.
Quá trình negotiation kéo dài khoảng 1 tuần, nhưng theo chia sẻ của ứng viên, offer cuối cùng không thay đổi.
Ứng viên cũng lưu ý package được tính theo 12 tháng, nên cần xem kỹ annual package khi so sánh compensation.
Nhìn lại
Theo trải nghiệm của ứng viên, process diễn ra khá nhanh và Culture Fit + Technical Interview là hai phần mang lại nhiều learning nhất.
Technical interview có độ phủ khá rộng, đặc biệt với Frontend Engineer cần chuẩn bị cả Web, JavaScript, React, coding và system design.
Questions I Remember
Online Assessment
- 2 bài Algorithm liên quan đến Graph / DFS / BFS
- Implement một Auto Complete
HR Interview
- Tell me about yourself / current work
- Đã từng conflict với đồng nghiệp chưa?
- Bạn giải quyết conflict như thế nào?
- English communication
Culture Fit
- Leadership
- Mindset
- Time management
- Xử lý issue giữa các team
- Collaboration trong môi trường remote
- Ownership
- Workplace scenarios
Frontend Technical
- Web Fundamentals
- JavaScript Fundamentals
- React Fundamentals
- Live Coding
- Requirement clarification
- System Design
System Design
- Design a system similar to Uber / Grab
- Scalability
- Real-time communication
- Matching
- Location tracking
- API / service design
- Data storage
- High traffic
- Fault tolerance
Outcome
Kết quả
PASS INTERVIEW → OFFER
Ứng viên nhận được offer từ Công ty E, tuy nhiên được đề xuất ở Mid-level thay vì level kỳ vọng ban đầu.
Package ban đầu chưa đạt expectation. Sau khoảng một tuần negotiation, theo chia sẻ của ứng viên, offer cuối cùng không thay đổi.
Ứng viên cho rằng phần System Design là một trong những điểm mình chưa thể hiện tốt do chưa chuẩn bị bài bản trước interview. Tuy nhiên, đây là nhận định cá nhân của ứng viên và không phải lý do down-level được Công ty E xác nhận chính thức.
Anonymous contributor
✓ Reviewed by EmpSignal
Trải nghiệm thật, được EmpSignal kiểm duyệt.
Muốn đọc thêm những trải nghiệm như thế này?
Khám phá thư viện trải nghiệm dành cho thành viên EmpSignal.
Truy cập những câu chuyện chuyên sâu từ cộng đồng người đi làm.
Khám phá membership →Trải nghiệm liên quan
Gợi ý dựa trên chủ đề, ngành và cấp bậc tương tự bài bạn vừa đọc.
Khám phá thêm trên EmpSignal
Ngoài đọc trải nghiệm, đây là những cách khác để kết nối và chuẩn bị tốt hơn.
Signal Talk
Ghép 1:1 ẩn danh với người cùng chủ đề — không lộ email, luôn là cuộc trò chuyện thật.
Tìm người để nói chuyện →Signal Interview Prep AI
EmpSignal AI đọc job description, đối chiếu với trải nghiệm phỏng vấn thật, rồi chỉ ra câu hỏi, stories và điểm dễ bị hỏi sâu.
home.pillars.prepBadgeBạn cũng có một câu chuyện?
Chia sẻ trải nghiệm phỏng vấn hoặc nơi làm việc của bạn — ẩn danh, không lộ email hay tên công ty.