> cừn.
HomeBlogNewsProjectsAbout
cừn.
~/blog
article.mdx

Zalo Tech Fresher 2026

Một bài blog nho nhỏ về hành trình tham gia chương trình Zalo Tech Fresher 2026 của mình.

23/06/2026cừn.35 phút6,930 từ

Hello, lâu lắm rùi tui mới quay lại viết blog, thì nhân dịp hôm nay vừa được phỏng vấn Zalo về và đang chờ kết quả (maybe rớt) thì tui sẽ review về chương trình Zalo Tech Fresher 2026 nhé.

Nói sơ qua 1 tí về background của mình thì mình là sinh viên năm 3 ngành CNTT tại Trường Đại học Khoa học Tự nhiên - ĐHQGHCM. Mình muốn chia sẻ về hành trình tham gia ZTF cũng như xem đây là 1 nơi lưu trữ lại 1 số kiến thức mà mình nhận được thông qua đợt tuyển này của Zalo.

Lưu ý: bài này được viết vào ngày 23/06/2026 nên có thể format đề hoặc câu hỏi sẽ khác với các năm khác hoặc khác với các ae đã từng phỏng vấn (hoặc là trí nhớ của thằng chủ post quá kém nên review sai và thiếu 🐧). Nên ae chỉ đọc tham khảo nhé.

1. Round 1: Review sơ về Zalo Tech Fresher.

Landing page của Zalo Tech Fresher 2026Landing page của Zalo Tech Fresher 2026

Bên trên là landing page của Zalo Tech Fresher 2026 ha. Link: Zalo Tech Fresher 2026 (chắc mọi năm thì cũng là link này thôi á :v)

Đây là chương trình training 3 tháng của Zalo dành cho các ứng viên xuất sắc nhất về Dev/Test (và chắc là sẽ không có tui đâu vì toi qua ga`), có lương, mentor và phúc lợi đầy đủ (yes). Chi tiết thì cứ click vào link đọc nhé.

Song song với ZTF thì bên Zalo có thêm cả PMT (Product Management Training), cũng là 1 đợt tuyển Fresher của Zalo về mảng Product (còn ZTF là Dev/Test). Mình thì không apply cái này tại nghe nói nó thiên về kinh tế/BA/PM nhiều (méo biết nữa nên ko review nhé :v), just ZTF.

Who should apply?Who should apply?

OK thì phần này quan trọng nè. Các bạn chú ý kĩ bức ảnh trên nhé =)))

  1. Mặc dù ghi là dành cho sinh viên năm cuối/vừa tốt nghiệp, tuy nhiên Zalo open cho mọi sinh viên nhé =))) ko giới hạn bạn là năm 2 hay năm 3 đâu (bạn mình kể có đứa năm 2 vẫn pass CV, năm 1 ko biết có ai không nữa =))). Mình năm 3 vẫn pass CV mà nên các bạn thấy thì cứ apply thôi, không có ảnh hưởng gì đâu mà sợ :v
  2. Phần Fundamentals thì các bạn nào muốn apply vào Zalo phải cực kỳ vững nhé =))) phải gọi là siêu vững và hiểu sâu (deep dive luôn chứ không phải dạng học vẹt r chỉ biết lý thuyết nó là gì không thoi đâu, tại sao thì một xíu bên dưới sẽ biết hehee)
  3. Sẳn sàng học hỏi điều mới, tiếp cận với ứng dụng triệu người dùng (oke cái này chắc mình không bàn tới nhe :v, ai mà chả muốn học hỏi điều mới nhỉ 🐧)
  4. GPA > 7.5/10. Cái này ghi chắc là điều kiện tối thiểu cho GPA thôi chứ > 7.5 cũng chưa chắc gì pass :v (Cơ bản theo mình thấy thì GPA > 8.0, có chứng chỉ tiếng anh + trường top thì tỉ lệ pass là 90.36% 🐧🐧 hoặc không)

Lúc mình nộp mình cũng nghĩ khá nhiều: vì chương trình ghi tiêu chí cho sinh viên năm cuối/vừa tốt nghiệp dưới 1 năm thì cơ hội nào cho mình ? Nhma chả có vấn đề gì cả, bạn cứ nộp đi, nộp thì vẫn có cơ hội pass CV, còn không nộp thì chỉ có 100% rớt =)))

Chương trình cho phép apply từ 4/5 tới 22/5 và đã được hint từ trước trên Linkedin của Zalo rồi ấy :v. Mình nộp này 17/5. Sau đó bạn sẽ nhận 1 mail như thế này.

Đại khái là sẽ chờ HR đánh giá CV của bạn, và sẽ gửi mail báo làm test của Zalo tại VNG Campus nếu bạn pass CV.

Mail thông báo pass CV và thời gian làm bài testMail thông báo pass CV và thời gian làm bài test

Đây là mail sau khi bạn pass được CV, sẽ được thông báo về nội dung bài test, ngày giờ và địa chỉ thi. Phần này mình sẽ review chi tiết bên dưới nhé.

2: Round 2: Entry Test.

OK thì nếu bạn được cái mail như phía trên, bạn sẽ được tham gia vào bài test của Zalo.

Một số dụng cụ bắt buộc bạn phải mang theo:

  • Laptop và sạc (bắt buộc vì làm bài test trên lap cá nhân nhé =)), máy ai pin yếu ko có sạc thì chết đấy)
  • Bút (giấy A4 mấy anh sẽ phát lúc làm), để tính nháp và brainstorm idea chẳng hạn.
  • Máy tính cầm tay (thật ra cũng chả cần lắm tại mấy câu trong kia nhẩm cũng được, vả lại test 1 dc dùng nhma test 2 ko được dùng)
  • Nước (cái này phải có nhé =))) dù sẽ có tea break nhma toàn bánh kẹo thôi (nhma tea break ngon thật, có su kem đồ nữa, lên dựt mà ăn =)))))
  • Điện thoại và cái tài khoản Zalo của bạn (vì bạn sẽ dùng cái điện thoại để quét cái QR để login vào test :v, số điện thoại phải trùng với số lúc bạn apply CV)

Test gồm 2 phần:

  • Technical Test
  • ZA Test

2.1 Technical Test (100 câu / 60 phút)

Phần này sẽ có 100 câu hỏi trắc nghiệm bằng tiếng Anh và bạn sẽ làm trong 60 phút (wtf, lần đầu tui đọc tui sốc mẹ luôn), đã thế trong mail còn ghi multiple choices (nhma đi làm test thật chỉ có 1 lựa chọn thôi, mail troll ác :v)

Nội dung sẽ tập trung vào các kiến thức Fundamentals trong IT (các môn trên trường bạn đã học ở năm 1 năm 2 đó =))

Nói vậy chứ cái quần què gì cũng hỏi, từ trên trời dưới đất =))) từ DSA qua Computer Networking, Database, OOP, OS, AI, Intro Software, DevOps, Cloud,... Tất cả sẽ được hỏi trong 100 câu đó =)) Các bạn base rộng 1 tí mình nghĩ thì sẽ có lợi thế.

Để mình lục trí nhớ lại 1 vài câu cho các bạn xem =)):

  1. Worst Case của Quick Sort ?
  2. Loại NAT nào dùng chung 1 mạng public và phân biệt với nhau bằng port ?
  3. Điểm khác nhau giữa Process và Thread ?
  4. Vấn đề kim cương (Dinamond Problem) trong OOP là gì ?
  5. Struct với Class khác nhau như thế nào ?
  6. Trường hợp nào thì Index trong Database không hiệu quả ?
  7. Ansible là công cụ gì ?
  8. Cái gì train gì giảm độ nhiễu của model gì ấy :v mình chả nhớ lắm nhma nó bên AI ấy
  9. Một số câu code vòng for và hỏi kết quả của đoạn code đó
  10. Có mấy câu tính toán cache gì nữa ấy :v ...

Đại khái các câu hỏi nó sẽ như z, bên dưới sẽ là các lựa chọn trắc nghiệm bằng tiếng anh hết, có câu 4 đáp án, có câu 5 đáp án luôn =))) đôi khi nó không khó nhma nó quá rộng, 100 câu 60 phút thì trung bình bạn phải nhìn dô là biết và chọn ngay =)) không thì chỉ cầu may rồi lụi tí.

Kiến thức ở vòng này nó khá là fundamentals, tuy nhiên nó rất rộng =))) không quá deep dive nhma hỏi rất nhiều =)))) cho nên là ...

À các bạn an tâm là sẽ không có leetcode hay code giải 1 bài ở round này nhé, trắc nghiệm lý thuyết ngắn hoàn toàn thôi, cùng lắm chỉ có mấy câu cho 1 biến rồi vòng for lồng nhau rồi hỏi output thôi á =)) nhma nhấn mạnh lại là nó "SIÊU RỘNG".

Sau khi kết thúc bài test thì các bạn sẽ có 1 khoảng tea break khoảng 30p ăn uống và nghỉ ngắn trước khi đến bài test thứ 2.

2.2 ZA Test

OK thì sau khi làm xong bài test trên và có 1 khoảng tea break khoảng 30p thì chúng ta sẽ đến với bài test thứ 2 của zalo: ZA Test.

Nội dung mà zalo cung cấp cho bài test là: Logical Reasoning & Data Insight Understanding.

Nó là gì: nó như kiểu lý thuyết số + xác suất thống kê vậy ?? =)) Mình thấy nó same same GMAT (Graduate Management Admission Test - có câu giống câu khác tại Zalo nó custom lại theo format đề của Zalo rồi =))).

Nó sẽ chia làm 2 lần test: lần đầu sẽ làm phần Logical Reasoning, nó như kiểu lý thuyết số á:

  • Nếu a + b chia c chia hết cho 3, a > b, b chia hết cho 5 thì giá trị của c là bao nhiêu ?
  • Nếu số có 8 chữ số (79243p25) chia hết cho 11, thì giá trị nhỏ nhất của p là bao nhiêu?
  • Chữ số tận cùng của 2732^{73}273 là bao nhiêu ?
  • Một số có 5 chữ số có dạng (750PQ) (với P, Q là các chữ số hàng chục và hàng đơn vị). Biết số này chia hết cho cả 3, 7 và 11. Hỏi giá trị của biểu thức P + 2Q là bao nhiêu?
  • ...

Đại khái v á, mấy câu trên mình chế giống format đề thôi chứ ko phải là câu hỏi chính thức nhé, nhma nó sẽ tương tự như vậy. Bạn có thể search trên mạng để làm thêm.

Và các bạn sẽ không được sử dụng máy tính cầm tay trong cả bài test ZA Test này. Khoảng 20 câu làm trong nhiêu phút ấy không nhớ nữa =)))

Nói khó thì không khó lắm =))) nhma mấy bạn base toán yếu thì mình nghĩ sẽ khá là chua =)))

Test 2 của phần ZA Test là Data Insight Understanding.

Phần này đại khái là giống xác suất thống kê nhma sẽ không tính xác suất quá khó và số xấu đâu. Đại khái là bạn sẽ phải chọn mệnh đề đúng để có cái xác suất đó có kết quả, hoặc tính ra kết quả cụ thể (số đẹp), hoặc là bạn sẽ nhìn 1 cái biểu đồ và tính tính gì đấy.

Theo mình tìm hiểu được thì nó gọi là GMAT Data Sufficiency.

💡 Xem ví dụ minh họa câu hỏi GMAT Data Sufficiency

Đề bài: Tại một trung tâm bồi dưỡng văn hóa, học sinh được đăng ký học 3 môn tự chọn: Toán, Văn, và Anh. Thống kê tỷ lệ phần trăm cho biết:

  • 45%45\%45% số học sinh đăng ký học Toán.
  • 40%40\%40% số học sinh đăng ký học Văn.
  • 40%40\%40% số học sinh đăng ký học Anh.
  • 20%20\%20% số học sinh đăng ký học cả Toán và Văn.
  • 15%15\%15% số học sinh đăng ký học cả Toán và Anh.
  • 10%10\%10% số học sinh đăng ký học cả 3 môn Toán, Văn, Anh.

Hỏi: Tổng số học sinh của trung tâm này là bao nhiêu em?

Cho các dữ kiện:

  • Dữ kiện (1): Số học sinh đăng ký học cả Văn và Anh là 40 em.
  • Dữ kiện (2): Có nhiều học sinh chỉ học môn Anh hơn chỉ học môn Văn.
  • Dữ kiện (3): Số học sinh không đăng ký bất kỳ môn nào trong 3 môn trên chiếm 20%20\%20% tổng số học sinh toàn trung tâm.

Các phương án lựa chọn:

  • A. Chỉ cần một mình dữ kiện (1) là đủ.
  • B. Cần kết hợp cả (1), (2) và (3) mới đủ để giải.
  • C. Cần kết hợp dữ kiện (1) và (3) mới đủ.
  • D. Một mình dữ kiện (2) đã đủ để giải.
  • E. Dù gộp cả 3 dữ kiện lại vẫn không thể tính được tổng số học sinh.

Đó, đại khái 1 câu xác suất của nó sẽ kiểu như v =)))) số tính ra vài câu cũng khá đẹp nên có thể nhẩm mà không cần máy tính cầm tay lắm :v Nhma nó sẽ mất kha khá thời gian đấy =))) không đùa đâu. Có những câu bạn chẳng cần tính cụ thể kết quả cũng trả lời được, có câu bạn phải nhẩm và tính đúng cả số để moi được đáp án =)))

Dạng còn lại là nhìn vào biểu đồ để tính toán đưa ra kết quả hoặc là nhận xét cái biểu đồ đó, có câu nhìn tinh ý tí là ra, có câu phải tính toán các thứ (bạn nào từng thi dgnl chắc có gặp, nó cũng kiểu kiểu z). Tổng bài Data Insight Understanding này là 10 câu, cộng với 20 câu ở test Logical Reasoning nữa thì ZA Test sẽ có tổng cộng 30 câu. Làm trong 90 phút.

💡 Xem ví dụ minh họa câu hỏi đọc biểu đồ & bảng số liệu

Bảng 1: Sản lượng nông nghiệp Anh ('000 tấn)

Loại cây trồng20082010201220142016
Lúa mì1,1921,6601,6441,4381,516
Lúa mạch709691737665736

Bảng 2: Phân bón sử dụng (kg/hecta)

Chỉ số20062007200820092010
Phân bón sử dụng326318290293300

Biểu đồ: Số lượng trang trại tại Anh theo diện tích (hecta, năm 2010)

Câu hỏi:

Nước Anh có 9,200 hecta dành cho nông nghiệp. Tính BÌNH QUÂN, MỖI TRANG TRẠI đã sử dụng bao nhiêu phân bón trong năm 2010?

Các lựa chọn đáp án:

  • A. 3,250 kg
  • B. 3,350 kg
  • C. 3,450 kg
  • D. 3,550 kg

Tóm lại thì phần này sẽ bắt bạn làm toán khá là nhiều, nhẩm được (hoặc nháp ra cả giấy để tính vì không được dùng máy tính =)))

Đương nhiên là sẽ không có giải tích nguyên hàm gì ở đây nhé, kiểu toán xác suất logic, lý thuyết số và đọc biểu đồ r tính toán chọn kết quả thôi ấy, base toán phần này các bạn phải vững tí thì mình nghĩ tự tin sẽ qua được.

2.3 Review

Địa điểm là VNG Campus tại Quận 7, má nó siêu xa, tui chạy tận 25km để tới, đã thế cái khúc Nguyễn Văn Linh từ q4 qua q7 dô KCN Tân Thuận nó kẹt xe dã man.

Nhma công nhận VNG Campus nó đẹp thật, mình đã lỡ 2 lần cơ hội tới đây thông qua các chuyến tham quan công ty của trường =)))) dù mình có bot báo tin sớm lắm nhma 1 phần là kẹt giờ, 1 phần là xa nên lười :v

Sau khi tới đây, bạn sẽ xếp hàng và nhận số thứ tự vị trí ngồi của mình. Factos là cái chỗ làm bài là cái nhà ăn của VNG =))))) rộng lắm, chia thành 2 ca, 1 ca sáng 1 ca chiều. Lúc mình vào thì mình chỉ nhìn thấy đa số là sinh viên UIT, US và Bách Khoa (HCMUT) =)))) có cả một vài người quen của mình nữa =))

Khung cảnh lúc làm bàiKhung cảnh lúc làm bài

Đây là khung cảnh lúc làm bài nè. Lúc vào sẽ có 1 bác bảo vệ trực và hướng dẫn cho vào xếp hàng để nhận vị trí ngồi, còn có các anh chị bên Zalo support. Wifi thì sẽ dùng Wifi + pass như trên ảnh. Ngoài ra xung quanh còn có ổ điện để ghim sạc. Mình thì thi ca chiều lúc 13h30. Theo bên Zalo có công bố thì đợt này có khoảng 2700+ hồ sơ apply vào --> lọc được hơn 450+ CV đến với bài test =))) Chia làm 2 ca sáng với chiều nên ca mình chắc khoảng 220+

OK sau khi ổn định thì bên Zalo sẽ bắt đầu start bài test: cả 2 bài test sẽ làm trên laptop hoàn toàn. Dùng điện thoại, mở Zalo và quét QR để đăng nhập (Cái Zalo bạn phải đăng kí với cái số điện thoại bạn đã nộp trong CV).

Giao diện bên ngoài bài testGiao diện bên ngoài bài test

Thì app sẽ yêu cầu 1 mã Code, code này sẽ được gửi thông qua email mà bạn đã đăng ký trong CV.

Khi có hiệu lệnh bắt đầu làm bài thì nhập vào và làm thôi. Test 1 là Entry Test 100 câu trắc nghiệm tiếng anh 60p, giao diện cũng như các web thi online ấy :v Bên trái là câu hỏi + các câu trắc nghiệm, bên phải là 1 cái grid 100 câu để bạn có thể chọn câu để làm, có đánh dấu câu chưa làm các thứ (bắt mở full screen + detect thông báo nên cũng ko làm gì được đâu =))), mấy anh chị cũng đi xung quanh gác hết nên sẽ không có chiêu trò gian lận gì đâu :v

Test 1 ntn thì mình cũng đã review ở trên rồi. Nhma cailinma cái cha ngồi đối diện t làm bài khiếp quá =))) kiểu vò đầu bứt tai r xin nháp các thứ luôn ấy. Không có ý gì nhma đang làm tự nhiên thấy z cũng mất tập trung tí. Cái này không biết phải chiêu trò để đánh lạc hướng đối thủ không 🐧🐧🐧 (Người mà tui nói là cái ông mặc áo khoác đỏ ở bức hình có cái pass wifi á =))

Oke thì 100 câu trắc nghiệm bằng tiếng anh trong 60 phút ☠️. Cũng lụi kha khá đó =)))) Quên nhắc các bạn là nếu ôn ZTF thì phải ôn keyword tiếng anh để vào làm nhé, đừng có đâm đầu vào học lý thuyết tiếng Việt xong dô làm bài test này thì chắc khóc =)))

Sau khi xong test 1 thì tụi mình sẽ được break 30 phút chờ cho ZA Test, bên VNG cũng có chuẩn bị bánh trái để tea break, và đương nhiên, nhanh tay thì còn chậm tay thì hết =)))) mình ăn dc 2 cái bánh su kem thì quay lại hết r. Lúc này các bạn có thể đi xung quanh để thư giản hoặc là làm gì đấy cho thư thỏa đầu óc để chuẩn bị tới cái test 2 lú não hơn.


Sau 30p thì sẽ quay lại chỗ ngồi cũ và chờ tín hiệu từ ban tổ chức, mã code test 2 sẽ được gửi qua mail y như test 1.

Mà trong lúc t làm, t còn cảm thấy cái test 2 khó hơn test 1. Test 1 nó là kiến thức các môn trên trường, lý thuyết là chính. Thì test 2 nó bắt mình động não, suy luận, thậm chí có mấy câu nó lú lú đọc đi đọc lại 1 tí mới hiểu. Mà hiểu chưa chắc gì tính được =)))

Thời gian cứ thế trôi qua, khoảng 17h chiều là kết thúc bài test rồi thì đi xe về thôi. Mà cái khúc quận 7 qua quận 4 nó kẹt xe như chos. Ra đúng cái lúc tan làm của nhân viên nữa, mà về KTX tận 25km khổ chết.

3. Round 3: Interview

Khoảng hơn 1 tuần sau, tui được chị HR bên Zalo liên hệ và nhận mail pass round 2 =)))

Ui vãi, tui sốc ấy, không nghĩ là mình qua được cái bài test khủng khiếp đó để qua tới Interview =)). Chị HR gửi mail cho tui kèm với 1 cái form trong mail đó để chọn ngày phỏng vấn.

Mail pass test và chọn ngày phỏng vấnMail pass test và chọn ngày phỏng vấn

Phỏng vấn thì sẽ diễn ra trong 2 tuần từ 15/6 đến 28/6 trừ thứ 7 CN của mỗi tuần, giờ thì mỗi ca 1 tiếng =)))) Thấy có mùi căng căng. Đương nhiên là tui sẽ chọn phỏng vấn tuần 2 (tuần 22/6 đến 28/6), chứ 15/6 nó sát quá trong khi mail chị HR gửi mình là 11/6 rồi =))) Ngoài ra cũng còn thời gian để chuẩn bị 1 số kiến thức nữa.

Sau khoảng 4 ngày kể từ ngày tui điền form thì tui nhận mail xác nhận ngày interview là 15h30 ngày 23/06 tại VNG Campus

Mail phỏng vấn của tuiMail phỏng vấn của tui

À mà mail ghi 1st v chứ Zalo phỏng vấn có 1 vòng à, ko có phỏng vấn thêm vòng 2 đâu.


Đến ngày phỏng vấn (23/06/2026), cảm giác lúc đó của mình cũng rất hồi hợp, cũng có cảm giác trong đầu vẫn thiếu kiến thức nhiều lắm.. Mặc dù mình đi với tâm thế là sẽ hết sức mình dù kết quả ra sao, nhưng dù sao cũng tới round cuối của chương trình ZTF rồi, mình cũng không muốn thất bại vì đây là 1 cơ hội lớn đến cho mình. Ở những vòng đầu, bạn có thể đi thi với tâm thế dạo chơi, học hỏi thêm được gì hay đó. Nhưng khi đã lọt tới vòng chung kết rồi, mình nghĩ nó không còn là “đi cho biết” nữa, mà thật sự nên trở thành một mục tiêu để mình nghiêm túc theo đuổi.

Lúc mình bắt đầu lấy xe đi qua Campus còn bị mắc mưa (cảm giác không thơm rồi...). Lần này đi thì không kẹt xe lắm như đợt trước, cũng biết đường rồi nên đi mượt mà hơn. Lúc mình bước vào, mình đã thấy tận 3 căn phòng phỏng vấn =))) Mình ngồi trước sảnh đợi tới ca của mình, cũng có các bạn ứng viên khác ngồi đợi chung với mình, mỗi thí sinh thì sẽ được 1 chị HR take care ấy, chị HR cũng có nhắn hỏi mình xem đã đến chưa để sắp xếp phòng cho mình vào để phỏng vấn. Lúc mình ngồi đấy thì có 1 anh đã tới ở sảnh, nói chuyện với chị HR và chào hỏi mình. Mình cũng tinh ý nhận ra ảnh chính là người sắp phỏng vấn mình =)))

Anh mình vừa kể là anh Phương, mình thấy cũng khá là thân thiện, cũng có hỏi đêm trước có xem đá banh không vì đang là mùa World Cup 2026 =))) Sau đó thì mình được dắt vào phòng để phỏng vấn, 1 căn phòng được bày trí gọn gàng kèm với 1 cái whiteboard và vài cây bút lông viết bảng. Máy lạnh cũng được mở mà theo mình đoán là nó max công suất =))

Bước vào đầu phỏng vấn sẽ có anh Phương và chị Ngọc (HR) ngồi và ghi chép, ngoài ra một lát sau sẽ có thêm 1 anh nữa xuống phỏng vấn mình (anh này tên Tín or Tính mình cũng không nhớ lắm, sr anh). Vừa vào thì cứ như bao buổi phỏng vấn khác, chị HR sẽ giới thiệu về chị cũng như anh Phương, và mình sẽ giới thiệu lại bản thân mình. Ảnh cũng có hỏi về kinh nghiệm làm việc trước đây thì... mình chưa có kinh nghiệm huhu (mé mình đi làm test đi thực tập các công ty khác thì fail mà test zalo thì pass, khó hiểu thật, đôi khi là cái duyên chăng !? lúc đó mình cũng đã hi vọng vậy). Sau đó anh Phương có nhìn vào CV mình và hỏi tí về học vấn cũng như stalk qua Github của mình 1 tí thông qua CV mình đã nộp =))) Ảnh stalk dính con bot tele crawl tin của mình. Đại khái nó là con bot này: HCMUSNewsTeleBot. Đây là con bot do mình dev để crawl các thông báo từ trường mình và gửi qua tele như một tin nhắn thông báo thay vì phải lên web trường để check, chi tiết bạn có thể click vào để xem nhé, mình sẽ không nói về nó quá nhiều ở đây.

Ảnh có kêu mình trình bày sơ qua về architecture, flow hoạt động và một số tính năng của bot, ngoài ra hỏi về cách xử lý cũng như đặt cho mình 1 vài câu hỏi về khả năng scale của ứng dụng. Mình cũng trình bày và viết bảng, trả lời cũng cũng đi =)))))). Ảnh còn hỏi 1 câu là sao không làm bot trên Zalo mà lại chọn Tele =))))))))))) mắ. Ảnh cũng có leak một tí là Zalo hiện tại chưa chỗ trợ định dạng markdown như bên Discord hay Tele, và tính năng này đang được bên Zalo phát triển và sẽ ra mắt sắp tới. Sau đó thì bắt đầu vào việc chính.

Lúc mình viết bài này (23/06/2026) thì Zalo vẫn chưa hỗ trợ định dạng Markdown như ảnh nói, không biết chừng nào có =)))

Phần interview của mình chủ yếu là các môn học quan trọng và nền tảng của ngành IT. Sau khi mình phỏng vấn xong mình có thể ước lượng là:

  • 70% kiến thức base + fundamentals của các môn core (DSA, MMT, Database, OS, OOP, ...)
  • 20% kiến thức Kotlin basic + tí Java (vì track mình phỏng vấn là Android)
  • 10% là hỏi về project trong CV, flow hoạt động, cách triển khai,...

Khởi đầu buổi phỏng vấn là OOP với 4 tính chất: Đóng gói (Encapsulation), Kế thừa (Inheritance), Trừu tượng (Abstraction) và Đa hình (Polymorphism). Ảnh bắt mình nêu khái niệm chi tiết kèm ví dụ từng cái và cách sử dụng. Các loại từ khóa Private, Public, Protected, so sánh Interface với Abstract Class, cách dùng, thay thế nhau, ... (má câu này mình trả lời cà vấp cà vấp, nghĩ lại mà tiếc vì có ôn rồi huhu). Trong lúc mình đang trình bày về OOP thì người phỏng vấn thứ 2 đã vào (là anh Tín/Tính mình có đề cập ở trên á). Mấy anh hỏi basic trước rồi từ từ xoáy sâu vào trọng tâm với lại so sánh các tính chất, rồi hỏi mình case thực tế áp dụng như nào đồ á. Abstraction với Encapsulation, rồi dùng Inheritance nhiều có nhược điểm gì...

Tiếp theo là phần Design Pattern, anh Tín là người hỏi mình câu này rằng mình có hay dùng Design Pattern không. Mình cũng trả lời là có và hay dùng nhất chắc là Singleton/Factory. Ảnh hỏi về khái niệm tụi nó, dùng để làm gì và áp dụng như thế nào, em có áp dụng cái này vào dự án chưa, áp dụng như thế nào, và sau đó ảnh có kêu mình cầm bút lên và viết trên whiteboard code thử 1 design pattern.

Tiếp theo là sang Database, 2 anh đều sấy phần này mình khá là căng vì mình học chuyên ngành Hệ thống Thông tin (chủ yếu làm việc với Database nhiều á) nên 2 anh hỏi cũng khá là sâu về Database cho mình. Đầu tiên là định nghĩa cơ sở dữ liệu, tại sao lại dùng cơ sở dữ liệu (thay vì dùng excel hay ghi đại vào giấy thì dùng csdl làm gì :v), có mấy loại sql, phân biệt và giải thích SQL và NoSQL, trong trường hợp nào sẽ áp dụng cái nào, dùng cái nào tốt hơn. Giải thích tính ACID của DBMS, Giải thích về Index trong Database, Full Table Scan, Index được implement bên dưới như thế nào, trong trường hợp nào mới dùng Index, đánh đổi những gì khi dùng Index, độ phức tạp của Index, giải thích sao nó có độ phức tạp đó (vì Index được implement bên dưới là cây B+Tree, ảnh hỏi câu độ phức tạp thuật toán để đá qua DSA luôn cho nó mượt =))), sao index có thể làm tăng tốc độ truy vấn. Ngoài ra ảnh có hỏi mình là có dùng tính năng search tin nhắn trên Zalo không, giờ anh muốn thiết kế 1 table để lưu các tin nhắn kia, và thanh tìm kiếm sẽ hỗ trợ tìm các keyword nhanh như trên zalo thì nên thiết kế và áp dụng những gì =))) Câu cuối này mình thua á (maybe Elasticsearch nhỉ :v)

OK nhờ câu độ phức tạp thuật toán trên cây ở cuối phần database thì ảnh cũng chuyển sang DSA mượt như sunsilk =))). Ảnh hỏi tại sao cấu trúc dữ liệu Tree lại có độ phức tạp khi tìm kiếm là O(logn), có cấu trúc dữ liệu nào tìm kiếm nào nhanh hơn O(logn) không (chắc là đá đá qua HashMap). Hash Map / Hash table là gì, tại sao nó lại truy xuất được dữ liệu là O(1), dùng hashmap như nào, Array dùng index thì cũng O(1) mà sao lại dùng hashmap, trong trường hợp nào, có trường hợp nào hashmap nó bị bất tiện không. Kể tên các cấu trúc dữ liệu khác mà em biết (Stack, Queue, Tree, ...), ảnh bảo mình mô tả stack queue, cách hoạt động, dùng như thế nào.

Sau đó ảnh có bảo mình cầm bút lên bảng và giải cho anh 1 bài toán: mình gọi nó là Two Sum Advanced =))))) Ý tưởng nó tương tự bài Two Sum nhưng mà mỗi cặp số chỉ được in ra 1 lần.

VD:

javascript
1
2
let arr = [1, 2, 4, 5, 3, 3, 8, 3, 4, 2];
let key = 6;

Thì với key = 6, bạn sẽ có các cặp như (1, 5), (2, 4), (3, 3), tuy nhiên cặp (2, 4) dùng rồi thì cái cặp (4, 2) sẽ không được dùng nữa, cặp (3, 3) dùng rồi thì số 3 lẻ loi kia cũng không được ghép cặp với 2 số 3 kia á. Như kiểu bạn tìm được cặp có tổng bằng key thì bạn sẽ bỏ nó ra khỏi mảng và không xét lại cặp đó nếu có.

Câu này thì mình kết hợp giữa map và set thôi, mình hiểu đề và giải được bằng mã giả (mấy anh bắt mình viết mã giả thôi chứ không cần code cụ thể) và trình bày flow, ý tưởng,...

javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function findPairs(arr, key) {
const waiting = new Map(); // lưu số đã gặp: số -> số lần xuất hiện
const usedPairs = new Set(); // lưu cặp đã dùng rồi
const result = [];
for (let i = 0; i < arr.length; i++) {
const x = arr[i];
const y = key - x;
const a = Math.min(x, y);
const b = Math.max(x, y);
const pairKey = a + "," + b;
const yCount = waiting.get(y) || 0;
if (yCount > 0 && !usedPairs.has(pairKey)) {
result.push([a, b]);
usedPairs.add(pairKey);
waiting.set(y, yCount - 1);
} else {
waiting.set(x, (waiting.get(x) || 0) + 1);
}
}
return result;
}

Bonus: goat Risa-chan có gợi ý mình cách giải dùng sort + two pointers để giải. Đây cũng là 1 cách giải khác khá hay mà mình đã học được từ goat. Tuy nhiên trong phòng Interview cũng ngợp nên thấy format đề dạng như Two Sum nên mình đã tư duy theo hướng của Two Sum + hash map để giải. Xin lỗi goat vì e qa ga`

Xong DSA thì chuyển sang phần mình sợ nhất (sợ từ môn học trên trường luôn rồi) - Mạng máy tính (or Computer Networking) =))))). Mình thì thấy kiến thức môn này rất hay nhưng nó rất khó hiểu sao ấy (riêng với mình, chac tai minh ga`). Mỗi lần nhắc tới mình sợ môn này vãi, lúc mình ôn mình cũng cố gắng để thấm nhuần nó nhưng mà có vẻ không thành công lắm =)))

Anh Phương hỏi mình khi nhấn 1 url trên thanh trình duyệt thì sau khi ấn, phía sau sẽ làm những gì (flow). Má =))) câu này mình trả lời thiếu tùm lum. Bạn có thể đọc ở đây câu trả lời:

  • what-happens-when-you-type-url-into-your-browser.

Đây cũng là phần kiến thức mình bỏ sót và chỉ trả lời được phân nửa (sợ mạng máy tính vcl luôn).

Tiếp theo là HTTP và HTTPS, cơ chế của chữ S trong HTTPS. So sánh TCP và UDP. Khái niệm DNS, NAT, các tầng trong mô hình TCP/IP, OSI... Nói chung phần này basic mình trả lời tạm, còn lại bị hỏi sâu dô thì...

Anh Tính phỏng vấn mình cũng là cựu sinh viên HCMUS =))) ảnh còn hỏi xưa mình học Mạng Máy Tính ai, ảnh thì được thầy Đỗ Hoàng Cường dạy, còn mình thì được cô Huỳnh Thụy Bảo Trân dạy =))))) Mình thấy ảnh hỏi như này là mình nghi nghi mình trả lời như nồi cháo heo rồi, mấy cái basic mình trả lời ổn chứ ảnh xoáy vào thì...

OK giờ qua tới một môn cũng đáng sợ không kém - Hệ điều hành: nhma câu hỏi liên quan đến khá là quen thuộc, có thể gọi là huyền thoại luôn: Phân biệt Thread và Process... Câu này thì nó huyền thoại quá rùi nên là mình trả lời oke. Ảnh hỏi thêm là 1 process có thể có nhiều thread không, process quản lý từng thread đó như thế nào. Một ứng dụng có thể có nhiều process không. Phần này hỏi mình khá nhanh, mình trả lời chắc cũng oke :v (nhma không thấy mấy anh hỏi Race Condition =)) cũng hơi sợ đó)

Sau đó sẽ chuyển qua các kiến thức của Kotlin dành cho Track Android.

Mình thì sợ mấy anh hỏi sâu vào Java, vì lúc mình học môn Mobile trên trường, thầy chỉ dạy sơ qua 1 tí về Kotlin + so sánh với Java về 1 số cải tiến thôi, mà Kotlin thì dùng lại của Java rất là nhiều, mấy ảnh mà xoáy sâu vào Java thì chắc mình ngã ngựa :v

Thì đúng như mình cũng đã suy đoán, mấy anh hỏi mình học Kotlin như thế nào =))) Mình cũng trả lời như trên (chứ lỡ để hỏi Java chắc mình chịu chết). Thì mấy anh hỏi mình liệt kê thử 1 cải tiến của Kotlin so với Java =)) Mình trả lời là phần Null Safety của Kotlin được cải tiến so với Java để hạn chế lỗi NullPointerException (NPE), sau đó là giải thích các thứ thôi. Sau khi xong thì ảnh hỏi còn cái cải tiến nào không em liệt kê thử, mình trả lời là companion object trong Kotlin (thay thế và nâng cấp hơn của static trong Java). Thật ra là còn nhiều cải tiến nữa của Kotlin nhma lúc đấy mình nghĩ nhanh thì dc 2 cái đấy thôi, mấy anh hỏi xong 2 cái này cũng ngưng.

Kotlin ảnh hỏi mình có xíu đó thôi, mình trả lời cũng oke vì cũng có ôn keyword Kotlin rồi. Sau đó ảnh nhìn vào CV mình và hỏi về Project mình đã build (project được hỏi của mình là 1 Wallpaper App, tựa như Pinterest á nhma mình dùng nguồn API bên ngoài để load ảnh, cái này là project giữa kì của mình). Phần này thì mình trình bày và giải thích thôi, mấy anh thấy cũng không hỏi sâu lắm (sấy tan nát ở phần fundamentals hết rồi).

Vậy là hết rồi đó =))) Sau khi bị bash hơn 1 tiếng (chắc khoảng 1h30p tại 15h30 tới gần 17h) thì phần phỏng vấn của mình cũng kết thúc. Mấy anh có hỏi là mình còn câu hỏi nào không. Đương nhiên là còn =))) mình cũng tranh thủ hỏi thăm các thông tin liên quan về track android + cách zalo training + lộ trình thăng tiến + cách học và các công nghệ hay dùng trong Android + lương nếu pass được ZTF. Kết thúc buổi thì mình chào hỏi 2 anh cũng như chị HR. Chị HR cũng đưa mình ra tận cửa và hỏi thăm thêm một số thông tin bên lề. Lúc mình pv xong cũng 17h chiều rồi.

Nói chung offer của Zalo ở mức Fresher như này thì ngon, có lương + lên cty chỉ 2,5 buổi/tuần (tức là khoảng 2,5 ngày, quá phù hợp cho các bạn sinh viên còn bận vài môn trên trường). Có mentor theo hỗ trợ + coursera học miễn phí theo các track, laptop + phòng gym + ăn uống + không gian làm việc rất oke nên đây vẫn là điểm đến khá hot cho các dev. Kết thúc đợt training thì ảnh nói là sẽ thuyết trình về cái project làm ở Zalo r sẽ được đánh giá các thứ để xem bạn có được giữ lại làm ko (cái này sẽ phụ thuộc vào khả năng của bạn và bên team Zalo có còn slot cho bạn vào chính thức không nữa :v)

Nhma công nhận mấy anh bash mình căng quá, ra khỏi phòng thì đầu óc mình nó nhức nhức luôn á, lúc đi về còn đi lộn đường nữa =))))))))))) Mấy anh hỏi sâu về kiến thức nền thui chứ track mấy anh hỏi khá ít (vì Zalo cần vũng base chứ kiến thức liên quan vào training họ sẽ đào tạo mà :v). Lúc mình ra khỏi phòng thì mình cũng tự thấy được lúc phỏng vấn mình trả lời có mấy câu chưa tốt rồi (lúc ra khỏi phòng phỏng vấn thì giống như não mình nó mới chịu quay về ấy, lúc này mình ước gì có thể được trả lời + xử lý nó hay hơn :v).

Tui tóm tắt ở trên xuống và list ra các câu hỏi phỏng vấn của mấy anh ra đây nhé (nhớ kèm case + ví dụ giải thích nhé):

  1. OOP là gì, nêu 4 tính chất trong OOP. Ví dụ vài case.
  2. Abstract Class và Interface khác nhau như thế nào. Khi nào dùng Abstract Class, khi nào dùng Interface.
  3. Abstraction với Encapsulation khác nhau như thế nào.
  4. Điểm yếu của Inheritance khi sử dụng là gì.
  5. Em hãy nêu các loại Design Pattern em đã sử dụng, sử dụng trong các case nào. Code whiteboard.
  6. Định nghĩa của Database, tại sao lại phải sử dụng Database.
  7. Phân biệt SQL và NoSQL, nên sử dụng cái nào trong trường hợp nào.
  8. Giải thích 4 tính chất của ACID trong DBMS.
  9. Index trong Database là gì, bên dưới index được implement như thế nào.
  10. Trường hợp nào nên sử dụng Index, case cụ thể, đánh đổi những gì khi sử dụng.
  11. Độ phức tạp khi tìm kiếm trong Tree là bao nhiêu, tại sao được con số đó.
  12. Hash Table là gì, độ phức tạp khi tìm kiếm là bao nhiêu, tại sao được con số đó.
  13. Giải 1 câu thuật toán và trình bày ý tưởng, code whiteboard.
  14. Giải thích Stack và Queue, implement như thế nào, sử dung trong các case nào.
  15. Khi nhấn 1 link trang web trên thanh tìm kiếm thì flow phía sau sẽ làm những gì (giải thích theo flow mạng máy tính).
  16. Giải thích sự khác nhau giữa HTTP và HTTPS, cơ chế hoạt động của chữ S.
  17. So sánh TCP và UDP.
  18. Nêu khái niệm DNS và NAT.
  19. Các tầng trong mô hình OSI. Chức năng.
  20. Phân biệt Thread và Process.
  21. Process quản lý các Thread như thế nào.
  22. Liệt kê 1 số cải tiến của Kotlin so với Java và giải thích.
  23. Mô tả về Project trong CV, dùng tech stack, implement những gì, flow của 1 số chức năng.

OOP, DSA, Computer Networking, Database, Operation System =))) khác với các cty khác tập trung vào kiến thức Android/1 mảng nào đó thì Zalo tập trung vào Base khá nhiều và bị xoáy khá là căng.

4. Result

Lúc mình thêm phần này thì đã là 03/07/2026, ngày mình nhận mail fail =))))

We regret to...We regret to...

Nói không tiếc thì chắc chắn là nói dối...

Dù kết quả lần này chưa phải là điều mình mong đợi, nhưng qua đợt phỏng vấn này, mình thật sự nhận lại được rất nhiều thứ: kinh nghiệm khi bước vào quy trình tuyển chọn của một công ty lớn, cái nhìn rõ hơn về những gì bản thân đang làm tốt, và cả những lỗ hổng kiến thức mà mình cần tiếp tục lấp đầy.

Thôi thì xem như bài blog này là một cách để mình lưu lại toàn bộ hành trình tại ZTF 2026 — một hành trình đối với mình nó đã ngoài mong đợi rồi (vì bài test zalo gớm vãi :v). Sau tất cả, những kiến thức, trải nghiệm và bài học mình tích lũy được trong lần apply này vẫn là một phần rất đáng giá. Và với khoảng 90.36% kinh nghiệm này, maybe mình sẽ đi thử sức lại với ZTF vào năm sau thôi nhỉ 🐧🐧🐧 (Nhưng mà chắc gì năm sau pass bài test ZTF như năm nay nhỉ :v).

Ai muốn apply vào ZTF cho các năm kế mà đọc được bài này thì cũng có thêm thông tin về chương trình này + review test với interview rồi đó =)))


Cuối cùng, dù kết quả lần này chưa phải là điều đẹp nhất, nhưng đây cũng là lúc mình nhìn lại những gì còn thiếu. Sau cơn mưa rồi trời cũng sẽ sáng, và sau mỗi lần vấp ngã, mình tin là bản thân sẽ học thêm được một điều gì đó để nâng cấp bản thân mình hơn vì hành trình phía trước chắc chắn vẫn còn dài và còn nhiều thứ phải học mà.

phỏng vấn đợt này về nhớ mạng máy tính dai dẵng luôn, cảm giác đỡ sợ hơn hẳn.

Và cũng cảm ơn bạn — người đã dành thời gian đọc hết cái “shjtpost” này.

Mong rằng hành trình của bạn cũng sẽ ngày càng rực rỡ, nhiều may mắn, nhiều trải nghiệm đẹp và luôn có đủ niềm tin để bước tiếp, kể cả trong những ngày mọi thứ chưa thật sự như ý.

hẹn gặp lại Zalo vào một ngày nào đó (hoặc không 🐧)

Thanks for your reading!

23/06/2026

Cừn.

Chia sẻ bài viết

FacebookLinkedInX
$cd ..