Hỏi về competitive programming

Cày ghê quá, bác có con chưa :D mà theo bác hackerrank hay leetcode ngon hơn vậy? Ngoài việc luyện tập, còn tiếp cận nhà tuyển dụng.

Con gái em 5 tháng tuổi rồi, may lúc tu luyện thì chưa có con nên vẫn còn tí thời gian :D Theo em là Leetcode nhé, thằng HackerRank câu nào cũng dài dòng, đọc mãi mới hiểu được, tốn thời gian lắm.
 
Manacher là thuật toán gì mình chưa nghe bao giờ, có ví dụ không bạn? Longest substring mình nghĩ cách tiếp cận có thể là sliding window, nó là 1 kỹ thuật phổ biến để xử lý mấy cái tìm min/max.

Edit: Chắc không được vẫn quy hoạch động thôi.

Bài 2 cũng không nghĩ ra cách tiếp cận nào khác ngoài đệ quy/quy hoạch động.

https://cp-algorithms.com/string/manacher.html

Bài 2 thì có HashMap ra được Average O(1) cho mỗi case thôi.
 
Ra mà chạy chậm bác, mấy cái thể loại này em nghĩ là không có khó hay dễ, chỉ là biết cách làm hoặc làm qua lần nao chưa hay không thôi :beated:
Giống kiểu thi IQ như Olympia ngày xưa, mới ra đề bài có đứa đã đọc đáp án cmnr.
Ko hiểu sao môn này lại gần như trở thành đề tài pv chính. Mặc dù chả áp dụng gì mấy vào cv :sad:
 
Giống kiểu thi IQ như Olympia ngày xưa, mới ra đề bài có đứa đã đọc đáp án cmnr.
Ko hiểu sao môn này lại gần như trở thành đề tài pv chính. Mặc dù chả áp dụng gì mấy vào cv :sad:
vì nó là thước đo IQ của software engineer mà công ty nào cũng có thể dùng, cũng giống như vì sao thi đaị học phải thi toán
 
Giống kiểu thi IQ như Olympia ngày xưa, mới ra đề bài có đứa đã đọc đáp án cmnr.
Ko hiểu sao môn này lại gần như trở thành đề tài pv chính. Mặc dù chả áp dụng gì mấy vào cv :sad:
Ơ em thấy khác nhiều mà bác.
IQ Olympia dễ hơn cái này nhiều. CP còn đòi hỏi một đống kiến thức về DS + Algo, toán + tối ưu các thứ nữa.
 
Ơ em thấy khác nhiều mà bác.
IQ Olympia dễ hơn cái này nhiều. CP còn đòi hỏi một đống kiến thức về DS + Algo, toán + tối ưu các thứ nữa.
DS & algo là cách hợp lý nhất để kiểm tra khả năng tư duy của ứng viên rồi bạn ạ. Qua các problem set thì interviewer sẽ đánh giá được nhiều skill của bạn như cách tiếp cận vấn đề, cách bạn tư duy để giải quyết vấn đề và chuyển hóa thành code, từ đấy họ có thể đánh giá được khả năng hoàn thành công việc của bạn nếu bạn ở trong team họ :D
 
vì nó là thước đo IQ của software engineer mà công ty nào cũng có thể dùng, cũng giống như vì sao thi đaị học phải thi toán
Tôi biết, nhưng thi ĐH thì ko có cách nào khác.
Tôi cũng ko phủ nhận hoàn toàn việc test cái này, có thể chỉ 50% nội dung thôi, như Apple test như kia là đến 8-90% rồi.

Ơ em thấy khác nhiều mà bác.
IQ Olympia dễ hơn cái này nhiều. CP còn đòi hỏi một đống kiến thức về DS + Algo, toán + tối ưu các thứ nữa.
Test cái nào chả phải cần kiến thức nền, là nguyên liệu để phát huy IQ.
Nhưng rõ ràng có những thứ đã biết trước vẫn hơn thằng IQ cao mà ko biết, khó nghĩ ra.
Ví dụ như bài josephus problem. Bạn biết trc thì code đơn giản vcc, ko biết thì ngồi niệm cả ngày ko tối ưu được.
 
Tôi biết, nhưng thi ĐH thì ko có cách nào khác.
Tôi cũng ko phủ nhận hoàn toàn việc test cái này, có thể chỉ 50% nội dung thôi, như Apple test như kia là đến 8-90% rồi.
lol, ko có công ty nào chỉ test mỗi thuật toán, bao h cũng có thêm vòng system design để xét thêm cả kinh nghiệm của candidate
 
Guideline trong cty như Facebook thì không ra bài đánh đố, tức là phải biết thuật toán cao siêu nào đó mới làm đc. Google thì có ngân hàng đề, review đàng hoàng mới đc hỏi. Nên phỏng vấn sẽ ko bao h gặp max flow, matching, v.v...

Faang thì techstack chủ yếu là nhà tự trồng, nên nó cần problem solver hơn, trừ 1 vài dự án đặc thù thì mới hỏi sâu về kiến thức nào đó.

SWE (phân biệt vs SE là system engineer) thì bộ skill không đơn giản là hard skill, nên cách để phỏng vấn cũng phải abstract hơn, chứ không thể và cũng ko nên quá cụ thể.
 
Nói chung em cũng không thích phỏng vấn kiểu này, quá tốn thời gian cho ứng viên. Thay vì mỗi ngày về bác luyện code, luyện backend, API,... các kiểu thì minh lại ngồi làm DS&A, cái mà cực kì ít áp dụng vào thực tế, ít nhất là cho front end và mobile. 1 năm rữoi vừa qua, ngoài làm trên công ty ra thì toàn bộ thời gian rảnh em đều ngồi làm DS&A, nghĩ lại cực vãi và chán vãi, động lực duy nhất là tiền nhiều cho vợ con :(

Nhưng giờ công ty nó chơi kiểu gì mình phải chơi kiểu đấy chứ sao bây giờ:burn_joss_stick: Em làm Apple tính ra được 5 tháng, nhưng chưa viết 1 dòng Algorithms nào, chắc tại em là mobile.
 
Nói chung em cũng không thích phỏng vấn kiểu này, quá tốn thời gian cho ứng viên. Thay vì mỗi ngày về bác luyện code, luyện backend, API,... các kiểu thì minh lại ngồi làm DS&A, cái mà cực kì ít áp dụng vào thực tế, ít nhất là cho front end và mobile. 1 năm rữoi vừa qua, ngoài làm trên công ty ra thì toàn bộ thời gian rảnh em đều ngồi làm DS&A, nghĩ lại cực vãi và chán vãi, động lực duy nhất là tiền nhiều cho vợ con :(

Nhưng giờ công ty nó chơi kiểu gì mình phải chơi kiểu đấy chứ sao bây giờ:burn_joss_stick: Em làm Apple tính ra được 5 tháng, nhưng chưa viết 1 dòng Algorithms nào, chắc tại em là mobile.
vãi, thím cày algo nguyên 1 năm rưỡi cơ à, vào được công ty nào rồi thím
 
Guideline trong cty như Facebook thì không ra bài đánh đố, tức là phải biết thuật toán cao siêu nào đó mới làm đc. Google thì có ngân hàng đề, review đàng hoàng mới đc hỏi. Nên phỏng vấn sẽ ko bao h gặp max flow, matching, v.v...

Faang thì techstack chủ yếu là nhà tự trồng, nên nó cần problem solver hơn, trừ 1 vài dự án đặc thù thì mới hỏi sâu về kiến thức nào đó.

SWE (phân biệt vs SE là system engineer) thì bộ skill không đơn giản là hard skill, nên cách để phỏng vấn cũng phải abstract hơn, chứ không thể và cũng ko nên quá cụ thể.

Em chỉnh bác tí vì em failed Facebook. Facebook thì đúng kiểu mì ăn liền, môi trường làm việc em nghĩ phải cực kì nhanh nhẹn. Khi nó hỏi bác 1 problem nào đó thì nó muốn bác phải đưa ra đáp án tối ưu trong lần đầu tiên code. Không phải kiểu làm recursion, sau đó thì memo recursion, cuối cùng mới ra DP. Làm thế là bác fail ngay lập tức, và phỏng vấn nó cực kì nặng về DS&A.

Google thì thư viện nó hơn cả 2000 câu hỏi, nhưng nếu bác làm nhiều câu trên leetcode category google thì cũng được 50% đấy.
 
Đọc lại review bác trên đi nhé :whistle:
thiết kế twitter là system design đó, tuy hỏi 1 câu đó nhưng nó sẽ xoáy trong 1h, gồm nhiều câu hỏi nhỏ nữa, chẳng qua ông kia ko list ra thôi
còn mấy câu thuật toán kia tuy list ra nhiều, nhưng nó expect mỗi câu chỉ giải trong 20 phút (bao gồm cả suy nghĩ thuật toán, code full solution và test) nên trong 1h sẽ phải giải từ 2-3 câu như thế
 
Back
Top