Không luyện leetcode hackerrank đúng là sai lầm

Buồn quá mấy bác, dạo gần đây đang tìm công việc mới, cũng khá tự tin về tech của mình, phỏng vấn các cty ở VN hầu hết đều pass vì họ ko có vòng scan trên hackerrank/leetcode, nếu có thì cũng cho 1 bài thiếu nhi rồi whiteboard thôi, hơn nữa thì cho 1 project con về tự quẩy, kiểu tạo 1 app có các tiêu chí abcxyz. Nói chung là không chú trọng về thuật toán lắm, tập trung vào việc có làm được việc họ giao hay không thôi.

Đầu tuần này e có pv một công ty vốn nước ngoài, v1 cho 3 bài trên hackerrank thời gian 30p 1 bài. Lúc đọc vào thì thấy cũng ko khó nhưng do hằng ngày không mài dao nên khi chém thì chém mấy phát chưa đứt được thịt. Cụ thể là không làm kịp thời gian, cứ phải search lung tung.

Em lấy 1 ví dụ là bài:

Cho 1 mảng gồm n số, tạo 1 mảng 2 chiều thể hiện số lần xuất hiện (frequency) của từng phần tử, sắp xếp mảng giảm dần theo frequency nếu frequency không bị trùng. Sắp xếp mảng tăng dần theo giá trị phần tử (value) nếu frequency bị trùng.

VD1: cho mảng [1,3,4,3,5,1]
KQ => [[1,2],[3,2],[5,1],[4,1]]
frequency bị trùng số 2 nên sẽ sắp xếp tăng dần theo giá trị phần tử (value).
Sorted => [[1,2],[3,2],[4,1],[5,1]]

VD2: cho mảng [5,2,6,5,2,2]
KQ=> [[5,2],[2,3],[6,1]]
frequency ko trùng nên sẽ sắp xếp giảm dần theo frequency
Sorted => [[2,3],[5,2][6,1]]

Đọc vô đúng là không khó nhưng mất hơn 5p em mới hiểu cái đề vì nó tăng, giảm theo 2 giá trị khác nhau :ops: .Em mất tg rất nhiều cho việc sort mảng 2 chiều (vì đi làm có bao giờ sử dụng đâu) :cry:

Khuyên anh em mỗi ngày nên làm 1 bài trên leetcode/hkr or 1 tuần 3-4 bài gì đó.

P/s: Em junior thôi
 
Last edited:
Buồn quá mấy bác, dạo gần đây đang tìm công việc mới, cũng khá tự tin về tech của mình, phỏng vấn các cty ở VN hầu hết đều pass vì họ ko có vòng scan trên hackerrank/leetcode, nếu có thì cũng cho 1 bài thiếu nhi rồi whiteboard thôi, hơn nữa thì cho 1 project con về tự quẩy, kiểu tạo 1 app có các tiêu chí abcxyz. Nói chung là không chú trọng về thuật toán lắm, tập trung vào việc có làm được việc họ giao hay không thôi.

Đầu tuần này e có pv một công ty vốn nước ngoài, v1 cho 3 bài trên hackerrank thời gian 30p 1 bài. Lúc đọc vào thì thấy cũng ko khó nhưng do hằng ngày không mài dao nên khi chém thì chém mấy phát chưa đứt được thịt. Cụ thể là không làm kịp thời gian, cứ phải search lung tung.

Em lấy 1 ví dụ là bài:

Cho 1 mảng gồm n số, tạo 1 mảng 2 chiều thể hiện số lần xuất hiện (frequency) của từng phần tử, sắp xếp mảng giảm dần theo frequency nếu frequency không bị trùng. Sắp xếp mảng tăng dần theo giá trị phần tử (value) nếu frequency bị trùng.

VD1: cho mảng [1,3,4,3,5,1]
KQ => [[1,2],[3,2],[5,1],[4,1]]
frequency bị trùng số 2 nên sẽ sắp xếp tăng dần theo giá trị phần tử (value).
Sorted => [[1,2],[3,2],[4,1],[5,1]]

VD2: cho mảng [5,2,6,5,2,2]
KQ=> [[5,2],[2,3],[6,1]]
frequency ko trùng nên sẽ sắp xếp giảm dần theo frequency
Sorted => [[2,3],[5,2][6,1]]

Đọc vô đúng là không khó nhưng mất hơn 5p em mới hiểu cái đề vì nó tăng, giảm theo 2 giá trị khác nhau :ops: .Em mất tg rất nhiều cho việc sort mảng 2 chiều (vì đi làm có bao giờ sử dụng đâu) :cry:

Khuyên anh em mỗi ngày nên làm 1 bài trên leetcode/hkr or 1 tuần 3-4 bài gì đó.

P/s: Em junior thôi

chắc độ khó tầm easy, mà công nhận k có time cày loại này thiệt ý. Chắc trc khi pv phải nghỉ ôn tầm 1 tháng thì may ra chứ bt tập trung làm side project kiếm thêm thu nhập à :)

Sent from Samsung SM-G960F using vozFApp
 
cái leetcode có khác gì hkr ko mn. trước em làm trên hkr thấy nhiều bài đố chán lắm (vẽ hình ...). em thích các dạng kiểu trên geeksforgeeks thấy thú vị.
 
cái leetcode có khác gì hkr ko mn. trước em làm trên hkr thấy nhiều bài đố chán lắm (vẽ hình ...). em thích các dạng kiểu trên geeksforgeeks thấy thú vị.
Leetcode ra câu hỏi vào thẳng vấn đề, ko lòng vòng, trong khi Hackerrank thì nó cố tình hỏi lòng vòng, còn cho tình huống giả định các thứ, nói chung là khoai hơn Leetcode. Mấy công ty nước ngoài đa phần cho bài trên hackerrank vì muốn candidates show luôn khả năng đọc hiểu và trích xuất thông tin, giải quyết vấn để. Còn leetcode chỉ hợp để luyện algo thôi.
 
Buồn quá mấy bác, dạo gần đây đang tìm công việc mới, cũng khá tự tin về tech của mình, phỏng vấn các cty ở VN hầu hết đều pass vì họ ko có vòng scan trên hackerrank/leetcode, nếu có thì cũng cho 1 bài thiếu nhi rồi whiteboard thôi, hơn nữa thì cho 1 project con về tự quẩy, kiểu tạo 1 app có các tiêu chí abcxyz. Nói chung là không chú trọng về thuật toán lắm, tập trung vào việc có làm được việc họ giao hay không thôi.

Đầu tuần này e có pv một công ty vốn nước ngoài, v1 cho 3 bài trên hackerrank thời gian 30p 1 bài. Lúc đọc vào thì thấy cũng ko khó nhưng do hằng ngày không mài dao nên khi chém thì chém mấy phát chưa đứt được thịt. Cụ thể là không làm kịp thời gian, cứ phải search lung tung.

Em lấy 1 ví dụ là bài:

Cho 1 mảng gồm n số, tạo 1 mảng 2 chiều thể hiện số lần xuất hiện (frequency) của từng phần tử, sắp xếp mảng giảm dần theo frequency nếu frequency không bị trùng. Sắp xếp mảng tăng dần theo giá trị phần tử (value) nếu frequency bị trùng.

VD1: cho mảng [1,3,4,3,5,1]
KQ => [[1,2],[3,2],[5,1],[4,1]]
frequency bị trùng số 2 nên sẽ sắp xếp tăng dần theo giá trị phần tử (value).
Sorted => [[1,2],[3,2],[4,1],[5,1]]

VD2: cho mảng [5,2,6,5,2,2]
KQ=> [[5,2],[2,3],[6,1]]
frequency ko trùng nên sẽ sắp xếp giảm dần theo frequency
Sorted => [[2,3],[5,2][6,1]]

Đọc vô đúng là không khó nhưng mất hơn 5p em mới hiểu cái đề vì nó tăng, giảm theo 2 giá trị khác nhau :ops: .Em mất tg rất nhiều cho việc sort mảng 2 chiều (vì đi làm có bao giờ sử dụng đâu) :cry:

Khuyên anh em mỗi ngày nên làm 1 bài trên leetcode/hkr or 1 tuần 3-4 bài gì đó.

P/s: Em junior thôi
Post bài khó nhất đi fen bài này tầm easy thôi, dùng counter 1 dòng là xong
zFNuZTA.png
 
Đọc hay học cái gì trước khi lên hackerrank vậy các huynh :pudency: trước em có đọc cuốn grokking algo mà cũng lâu rồi
 
Cho 1 mảng gồm n số, tạo 1 mảng 2 chiều thể hiện số lần xuất hiện (frequency) của từng phần tử, sắp xếp mảng giảm dần theo frequency nếu frequency không bị trùng. Sắp xếp mảng tăng dần theo giá trị phần tử (value) nếu frequency bị trùng.

VD1: cho mảng [1,3,4,3,5,1]
KQ => [[1,2],[3,2],[5,1],[4,1]]
frequency bị trùng số 2 nên sẽ sắp xếp tăng dần theo giá trị phần tử (value).
Sorted => [[1,2],[3,2],[4,1],[5,1]]

VD2: cho mảng [5,2,6,5,2,2]
KQ=> [[5,2],[2,3],[6,1]]
frequency ko trùng nên sẽ sắp xếp giảm dần theo frequency
Sorted => [[2,3],[5,2][6,1]]

Mấy bài xử lý mảng như này thường thì tôi tận dụng index hoặc dùng map để ghi lại tần số sau đó xử lý
 
bài này code vài dòng là ra rồi. Mức độ elementary thôi. Từ khi đọc đề tới khi code xong chắc chưa quá 5 phút. Khuyên các ông là hãy dùng C++ hoặc Java mà làm mấy bài như này. Chứ mấy ông học JS hoăc python đi code algo chắc chết.

Mấy bài DP trên hackerrank tôi thấy nó mới chua. Tôi có mua tài khoản trả tiền của hackerrank. Những bài về DP ở mức độ medium, thì tỉ lệ giải được tầm 2%, với hơn 1000 lươt thử. Còn mức độ hard thì chỉ khoảng 0.3-0.5%

Mấy bài bên HR nó khó vì quá nhiều corner cases. Chỉ cần rớt 1 case thôi là bị trừ 10-15% số điểm.

algo.png


Update: Đổi hàm sort lại thế này cho gọn
auto sortFunc = [](std::pair<int,int> a1, std::pair<int,int> a2) -> bool {
if (a1.second == a2.second)
return a1.first < a2.first;
return a1.second > a2.second;
};
 
Last edited:
Bài này của ông công nhận tốn time khi sort mảng 2 chiều vì ít đụng, còn đoạn tạo mảng 2 chiều thì ko khó
 
cái thuật toán làm gần đây nhất là cái này, ai thích vô mấy cty công nghệ lớn chắc nhìn qua là biết cái gì. Cái này cũng chả đăng kí gì, tự nhiên có cái email gọi vào làm thôi :LOL: làm tới lv4 thì có người gọi đt tới kêu đi onsite

Từ lv3 trở đi thì độ khó bắt đầu tăng khá nhiều. Còn cái lv5 mà dạo này lười quá ko làm

Screenshot 2021-08-27 at 11.49.27.png
 
cái thuật toán làm gần đây nhất là cái này, ai thích vô mấy cty công nghệ lớn chắc nhìn qua là biết cái gì. Cái này cũng chả đăng kí gì, tự nhiên có cái email gọi vào làm thôi :LOL: làm tới lv4 thì có người gọi đt tới kêu đi onsite

Từ lv3 trở đi thì độ khó bắt đầu tăng khá nhiều

View attachment 732724
Google Foo cơ mà cái này lâu lắm rồi lời giải nhiều trên mạng mà sao có người kêu onsite dc nhỉ
KV0XGIA.gif
 
Google Foo cơ mà cái này lâu lắm rồi lời giải nhiều trên mạng mà sao có người kêu onsite dc nhỉ
KV0XGIA.gif
lâu hay ko thì ko biết :LOL: trước giờ chả bao giờ thích vô mấy cty lớn nên ko để ý. Onsite bên Munich, à quên trước đó có 1 vòng phone interview, thuật toán cũng đơn giản chắc cỡ lv3 trong cái foobar

à mà trung thực thì ko copy/paste lời giải trên mạng :D
 
lâu hay ko thì ko biết :LOL: trước giờ chả bao giờ thích vô mấy cty lớn nên ko để ý. Onsite bên Munich, à quên trước đó có 1 vòng phone interview, thuật toán cũng đơn giản chắc cỡ lv3 trong cái foobar

à mà trung thực thì ko copy/paste lời giải trên mạng :D

Không thích hay không vào được. Tôi thấy nhiều dev bên Châu Âu sợ về VN lắm, cơ bản là về thì sợ không theo kịp đám dev VN.
 
Back
Top