thảo luận Nghĩ về tình hình dev Việt buồn quá

Status
Not open for further replies.
@Nipin Ok sau khi tìm hiểu về sleep sort thì mình hiểu thế này:
Ví dụ input array có: 19 5 6
Bạn sẽ lần lượt có 3 threads "ngủ" tương ứng là (ví dụ) 19s 5s và 7s xong in ra. Cho là mỗi loop chạy 1s ha thì trình tự là:
1s: sleep 19
2s: sleep 5
3s: sleep 7
...
7s: print 5
10s: print 7
20s: print 19
Output: 5 7 19

Ok, bạn dùng sleep(n-i) thì trình tự sleep sẽ là 7s, 5s, 19s. Thứ tự chạy
1s: sleep 7
2s: sleep 5
3s: sleep 19
...
7s: print 5
8s: print 7
22s: print 19
Output: Vẫn 5 7 19

Vậy sleep sort có reverse được không? Hay mình sai chỗ nào?
 
Hmm, dạo này tôi cũng có thắc mắc là làm mấy cái challenge kiểu leetcode ngoài đi pv thì còn áp dụng ở đâu không? Tôi cũng muốn phủ nhận ý của ông nhưng thấy nó cũng có phần đúng. Hay là ông lập cái topic để thảo luận nhỉ?
Khoan. Cái sleep(n-i) nó vẫn là sort trong khi đề có kêu sort không? :censored:

@Nipin Ok sau khi tìm hiểu về sleep sort thì mình hiểu thế này:
Ví dụ input array có: 19 5 6
Bạn sẽ lần lượt có 3 threads "ngủ" tương ứng là (ví dụ) 19s 5s và 7s xong in ra. Cho là mỗi loop chạy 1s ha thì trình tự là:
1s: sleep 19
2s: sleep 5
3s: sleep 7
...
7s: print 5
10s: print 7
20s: print 19
Output: 5 7 19

Ok, bạn dùng sleep(n-i) thì trình tự sleep sẽ là 7s, 5s, 19s. Thứ tự chạy
1s: sleep 7
2s: sleep 5
3s: sleep 19
...
7s: print 5
8s: print 7
22s: print 19
Output: Vẫn 5 7 19

Vậy sleep sort có reverse được không? Hay mình sai chỗ nào?

sleep ở đây là sleep theo vị trí của nó thôi, ví dụ a[n] thì nó sleep 0 microsecond, a[1] thì nó sleep n - 1 microseconds
hiển nhiên là cái nào sleep sau thì cái đó print muộn hơn.

cái sleep sort nó cũng không phải là hàm sort thật, nó chỉ thoả mãn được đúng bài toán là in một list theo một thứ tự nào đó (thường là sắp xếp theo giá trị của value, hence sort).

p/s: cái code example kia của tôi thực ra cũng không đúng, chính xác hơn thì phải là với mỗi bước trong loop thì tạo một thread mới, thread này ngủ một khoảng thời gian rồi mới in ra.
đây là lỗi tôi cố tình chừa ra để xem có bạn nào rành C# như các bạn khẳng định vào bóc phốt không, nhưng tới giờ chưa có thì tôi nghĩ nó cũng thể hiện dc vài điều gì đó rồi :)

còn vụ ứng dụng của mấy cái code golf này thì đợi lát nữa gõ tiếp :)
 
sleep ở đây là sleep theo vị trí của nó thôi, ví dụ a[n] thì nó sleep 0 microsecond, a[1] thì nó sleep n - 1 microseconds
hiển nhiên là cái nào sleep sau thì cái đó print muộn hơn.

cái sleep sort nó cũng không phải là hàm sort thật, nó chỉ thảo mãn được đúng bài toán là in một list theo một thứ tự nào đó (thường là sắp xếp theo giá trị của value, hence sort).

p/s: cái code example kia của tôi thực ra cũng không đúng, chính xác hơn thì phải là với mỗi bước trong loop thì tạo một thread mới, thread này ngủ một khoảng thời gian rồi mới in ra.
đây là lỗi tôi cố tình chừa ra để xem có bạn nào rành C# như các bạn khẳng định vào bóc phốt không, nhưng tới giờ chưa có thì tôi nghĩ nó cũng thể hiện dc vài điều gì đó rồi :)

còn vụ ứng dụng của mấy cái code golf này thì đợi lát nữa gõ tiếp :)
À nhầm với cái element của array. Ok, cảm ơn anh đã share. Tôi biết thêm được một cái mới :)
 
Nhiều ng hay thật. Nói gì nói ko cần biết ng ta đang nói gì, cứ phải nhảy vào chê bai xỉa xói ng khác cho thoả mãn cái tôi của mình.
Xong lại bảo ng khác tâm hồn yếu đuối.

Cũng lạy mấy thằng như thế :)

Toxic vkl lại tỏ vẻ thanh cao.
Đéo biết học ở cái diễn đàn nào rồi vào đây thể hiện :)
 
sleep ở đây là sleep theo vị trí của nó thôi, ví dụ a[n] thì nó sleep 0 microsecond, a[1] thì nó sleep n - 1 microseconds
hiển nhiên là cái nào sleep sau thì cái đó print muộn hơn.

cái sleep sort nó cũng không phải là hàm sort thật, nó chỉ thoả mãn được đúng bài toán là in một list theo một thứ tự nào đó (thường là sắp xếp theo giá trị của value, hence sort).

p/s: cái code example kia của tôi thực ra cũng không đúng, chính xác hơn thì phải là với mỗi bước trong loop thì tạo một thread mới, thread này ngủ một khoảng thời gian rồi mới in ra.
đây là lỗi tôi cố tình chừa ra để xem có bạn nào rành C# như các bạn khẳng định vào bóc phốt không, nhưng tới giờ chưa có thì tôi nghĩ nó cũng thể hiện dc vài điều gì đó rồi :)

còn vụ ứng dụng của mấy cái code golf này thì đợi lát nữa gõ tiếp :)
Ok, phải vụ này không?
Nếu arr = [15, 7, 8]
sleep(n-i) sẽ chạy như sau assume loop 1s:
1s: sleep 2
2s: sleep 1
3s: sleep 0
Vậy tại 3s nó sẽ pop stack theo thứ tự 8, 7, 15 hay in ra sao?
Mà tôi đọc thì thấy thread nó có independent call stack. Vậy pop lên chưa chắc in đúng thứ tự :censored:
 
Ok, phải vụ này không?
Nếu arr = [15, 7, 8]
sleep(n-i) sẽ chạy như sau assume loop 1s:
1s: sleep 2
2s: sleep 1
3s: sleep 0
Vậy tại 3s nó sẽ in ra sao?
dạng thế nhưng mà lưu ý là thread là non-blocking cho nên 3 cái loop body này dc gọi gần như cùng một lúc, khác biệt vài nano seconds thôi chứ không phải 1s 2s 3s.
 
Last edited:
Giờ mấy khóa lập trình viên CRUD đầy rẫy trên mạng đến nản. :D

Vừa đi pv 1 bác 97, clean code, sql tunning, dotnet. nghe hoàng tráng lắm,anh cto cho 1 array bảo làm gì để in kết quả array ngược lại, biết mỗi dùng loop duyệt ngược lại mảng đó rồi in ra.

Ra đòi 18 củ. :beat_brick:
bạn share cao kiến cto của bên bạn đi, mình rất tò mò đấy
 
@vozer267 trong lúc rảnh thì bạn có thể đọc thử mấy cái này:
https://wiki.c2.com/?ThereIsMoreThanOneWayToDoIt
http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html
http://www.willamette.edu/~fruehr/haskell/evolution.html?
còn bài cho lisp nữa khá hay mà không tìm được.

quay lại cái này, bỏ qua mục đích ban đầu của OP, thì thường mấy cái dạng này người ta gọi là code golf, aka dùng bất kỳ thủ đoạn nào miễn thoả mãn được yêu cầu đặt ra. ở đây thì mỗi implementation khác nhau nhiều khi đều đc coi là giải pháp khác nhau, ví dụ for loop coi như là khác while loop, mặc dù bên dưới thì nó y hệt.

hoặc là một phương pháp dùng for rồi print trong body của for, phương pháp khác là trong for thì gội lại thành string rồi mang ra ngoài print sau, cũng dc coi là 2 giải pháp khác biệt.

dùng builtin như List.Revese(), Array.Reverse(), Enumerable.Reverse() cũng được coi là các giải pháp khác biệt (vì mỗi cái nó behavior khác nhau một tí)

tương tự thì ở trên có nói về recursion nó cũng có nhiều implementation, đơn giản nhất là cứ gọi recursion từ đầu tới cuối array cho in ngược lại, nhưng cũng có các giải pháp khác dùng accumulator để tạo output string hoặc reverse array. thêm nữa thì code có thể áp dụng tail call optimization hay không cũng là tiêu chuẩn để phân biệt.

các bạn nhìn vào thì bảo là vẽ vời phức tạp hoá vấn đề, nhưng sao không nghĩ là tại sao các giải pháp trên tồn tại? tồn tại tức hợp lý, chắc chắn có một cái use case nào đó phải dùng tới các phương pháp trên thì người ta mới đưa ra công cụ giải quyết.

ờ mà code golf nói chung tôi gặp thì còn nhiều các giải quyết bựa hơn. có rất nhiều lần tôi thấy một thằng nào đó gọi ra một hàm nào đó giải quyết được luôn bài toán, thay vì phải tự implement hơn chục dòng

các bạn có thể so sánh giải pháp aventofcode 2020 của tôi với creator của crystal:
https://github.com/nipinium/aoc20 (bản trình lùn của tôi), https://github.com/asterite/adventofcode2020 (bản pro của ary). xem vài cái thì thấy hiển nhiên là code của lão ary nó hiệu quả hơn ngắn gọn hơn, dùng nhiều cấu trúc/method call dị hơn.

tiếp đến tôi biết có vài thằng khác thay vì thực hiện giải pháp trên ngôn ngữ đầu bài, thì nó củ bựa gọi hẳn system command tới các ngôn ngữ khác có khả năng giải quyết bài toán một cách ngắn gọn hơn.
cái này tuy nhiên là trò đùa nhưng thực tế là không có ngôn ngữ nào là hoàn hảo, nhiều khi đang dùng ngôn ngữ này bạn cần một vài tính năng của ngôn ngữ khác, hoặc là program có sẵn, cái solution này thực ra là demostrate dc là thằng đó nó có khả năng này.

tóm lại thì code golf tuy sinh ra là để giải trí, nhưng nó giúp bạn hiểu ra là một vấn đề có rất nhiều cách giải quyết, tuỳ trường hợp cụ thể mà cách này tốt hơn cách kia.

cái sleep sort hay dc lôi ra làm ví dụ cũng là để nhấn mạnh cái này, vì nó khuyến khích người ta thinking out of the box.

// khi nào rảnh có khi tôi cũng làm bài tổng hợp mấy cái này, hay ho phết, kể cả bài đố fizzbuzz nổi tiếng cũng có vô số giải pháp kỳ dị tôi cá là các bạn chưa nghe bao giờ :)
p/s: ví dụ js: https://gist.github.com/jaysonrowe/1592432
 
@vozer267 trong lúc rảnh thì bạn có thể đọc thử mấy cái này:
https://wiki.c2.com/?ThereIsMoreThanOneWayToDoIt
http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html
http://www.willamette.edu/~fruehr/haskell/evolution.html?
còn bài cho lisp nữa khá hay mà không tìm được.

quay lại cái này, bỏ qua mục đích ban đầu của OP, thì thường mấy cái dạng này người ta gọi là code golf, aka dùng bất kỳ thủ đoạn nào miễn thoả mãn được yêu cầu đặt ra. ở đây thì mỗi implementation khác nhau nhiều khi đều đc coi là giải pháp khác nhau, ví dụ for loop coi như là khác while loop, mặc dù bên dưới thì nó y hệt.

hoặc là một phương pháp dùng for rồi print trong body của for, phương pháp khác là trong for thì gội lại thành string rồi mang ra ngoài print sau, cũng dc coi là 2 giải pháp khác biệt.

dùng builtin như List.Revese(), Array.Reverse(), Enumerable.Reverse() cũng được coi là các giải pháp khác biệt (vì mỗi cái nó behavior khác nhau một tí)

tương tự thì ở trên có nói về recursion nó cũng có nhiều implementation, đơn giản nhất là cứ gọi recursion từ đầu tới cuối array cho in ngược lại, nhưng cũng có các giải pháp khác dùng accumulator để tạo output string hoặc reverse array. thêm nữa thì code có thể áp dụng tail call optimization hay không cũng là tiêu chuẩn để phân biệt.

các bạn nhìn vào thì bảo là vẽ vời phức tạp hoá vấn đề, nhưng sao không nghĩ là tại sao các giải pháp trên tồn tại? tồn tại tức hợp lý, chắc chắn có một cái use case nào đó phải dùng tới các phương pháp trên thì người ta mới đưa ra công cụ giải quyết.

ờ mà code golf nói chung tôi gặp thì còn nhiều các giải quyết bựa hơn. có rất nhiều lần tôi thấy một thằng nào đó gọi ra một hàm nào đó giải quyết được luôn bài toán, thay vì phải tự implement hơn chục dòng

các bạn có thể so sánh giải pháp aventofcode 2020 của tôi với creator của crystal:
https://github.com/nipinium/aoc20 (bản trình lùn của tôi), https://github.com/asterite/adventofcode2020 (bản pro của ary). xem vài cái thì thấy hiển nhiên là code của lão ary nó hiệu quả hơn ngắn gọn hơn, dùng nhiều cấu trúc/method call dị hơn.

tiếp đến tôi biết có vài thằng khác thay vì thực hiện giải pháp trên ngôn ngữ đầu bài, thì nó củ bựa gọi hẳn system command tới các ngôn ngữ khác có khả năng giải quyết bài toán một cách ngắn gọn hơn.
cái này tuy nhiên là trò đùa nhưng thực tế là không có ngôn ngữ nào là hoàn hảo, nhiều khi đang dùng ngôn ngữ này bạn cần một vài tính năng của ngôn ngữ khác, hoặc là program có sẵn, cái solution này thực ra là demostrate dc là thằng đó nó có khả năng này.

tóm lại thì code golf tuy sinh ra là để giải trí, nhưng nó giúp bạn hiểu ra là một vấn đề có rất nhiều cách giải quyết, tuỳ trường hợp cụ thể mà cách này tốt hơn cách kia.

cái sleep sort hay dc lôi ra làm ví dụ cũng là để nhấn mạnh cái này, vì nó khuyến khích người ta thinking out of the box.

// khi nào rảnh có khi tôi cũng làm bài tổng hợp mấy cái này, hay ho phết, kể cả bài đố fizzbuzz nổi tiếng cũng có vô số giải pháp kỳ dị tôi cá là các bạn chưa nghe bao giờ :)
Ok tôi chịu thua. Sau khi vật nhau với ông (và thua) thì tôi thấy bây giờ tôi thiếu lửa hơn hồi xưa thật. Giờ toàn làm kiểu cho nhanh ít tìm hiểu thêm.
Nếu được thì khi nào tổng hợp thì ông lập luôn thớt mới được không? Để đỡ trôi
 
tôi chửi thế là nhẹ lắm rồi.

nói thật tôi tham gia các diễn đàn công nghệ nhiều năm, mỗi lần có mấy cái đố code này mọi người đều rất hứng thú đưa ra các giải pháp quái chiêu, nhiều giải pháp tôi cũng phục luôn vì độ dị.

chỉ riêng trong cái topic này lần đầu tôi thấy cả một lũ thay vì ngồi nghĩ các giải pháp hack não thể hiện trình độ + hiểu biết phong phú của mình thì chỉ biết lươn lẹo KISS với phức tạp hoá vấn đề.

cái trò dùng sleep để sort là chiêu trò khá thường gặp mang ra để đùa, cho nên cái câu trên trình độ lùn cũng là giỡn chơi là chính, cơ mà các bạn trình đúng là lùn tới mức không biết nó là giỡn chơi, lol.

https://stackoverflow.com/questions/6474318/what-is-the-time-complexity-of-the-sleep-sort
https://www.geeksforgeeks.org/sleep-sort-king-laziness-sorting-sleeping/
Thanks thím. cái bạn đưa ra vấn đề, chê bai, người khác hỏi giải pháp thì mất hút hàng lươn. ít cũng phải đưa ra giải pháp như thím này chứ.
 
nói chung vụ chửi trình lùn thì tôi cũng theo thói quen chém gió ở các diễn đàn thôi, cơ mà đúng là quên mất ở vn các bạn tâm hồn toàn loại nhạy cảm.

nhưng mà thực sự rất buồn về thái độ đối phó của các bạn trong này, thay vì coi đó là một cái challenge để kích thích bộ não, mở rộng kiến thức thì chỉ thấy cố làm sao cho nó dễ cho mình nhất, không hợp ý mình là vứt bỏ luôn, thậm chí tự tạo ra alternative fact để mình luôn đúng.

Cái gì cũng phải có context, nếu bạn post lên code golf và bị chửi là phức tạp hóa vấn đề, thì bạn chê mọi người nhận thức kém cũng đúng.

Trong trường hợp này, đang phỏng vấn fresher, đưa ra một câu hỏi không có nghĩa là ứng viên phải suy nghĩ theo hướng phức tạp nhất có thể. Nếu câu hỏi đặt ra là "loại trừ việc dùng xyz, em nghĩ phải giải quyết vấn đề này thế nào?" thì là một câu chuyện hoàn toàn khác.

Bạn thích có những cách giải dị, điều đấy ok, nhưng không có nghĩa là không đưa context và bắt ứng viên phải nghĩ ra cách giải dị, và nhất là cho fresher .
 
Cái gì cũng phải có context, nếu bạn post lên code golf và bị chửi là phức tạp hóa vấn đề, thì bạn chê mọi người nhận thức kém cũng đúng.

Trong trường hợp này, đang phỏng vấn fresher, đưa ra một câu hỏi không có nghĩa là ứng viên phải suy nghĩ theo hướng phức tạp nhất có thể. Nếu câu hỏi đặt ra là "loại trừ việc dùng xyz, em nghĩ phải giải quyết vấn đề này thế nào?" thì là một câu chuyện hoàn toàn khác.

Bạn thích có những cách giải dị, điều đấy ok, nhưng không có nghĩa là không đưa context và bắt ứng viên phải nghĩ ra cách giải dị, và nhất là cho fresher .

Fresher cái gì các bạn lại bịa ra alternative fact à. Tôi nhớ rõ ràng là nói 3 năm gì đó mà.

Sent from HUAWEI COR-L29 using vozFApp
 
Fresher cái gì các bạn lại bịa ra alternative fact à. Tôi nhớ rõ ràng là nói 3 năm gì đó mà.

Sent from HUAWEI COR-L29 using vozFApp
"
Giờ mấy khóa lập trình viên CRUD đầy rẫy trên mạng đến nản. :D

Vừa đi pv 1 bác 97, clean code, sql tunning, dotnet. nghe hoàng tráng lắm,anh cto cho 1 array bảo làm gì để in kết quả array ngược lại, biết mỗi dùng loop duyệt ngược lại mảng đó rồi in ra.

Ra đòi 18 củ."

Sinh năm 97, chắc cũng khó có 3 năm kinh nghiệm nhỉ.

Mình nhớ nhầm là fresher, ok, bạn đó chắc cũng chỉ junior thôi, nhưng kể cả senior có ai đi phỏng vấn kiểu codegolf ?
 
"
Giờ mấy khóa lập trình viên CRUD đầy rẫy trên mạng đến nản. :D

Vừa đi pv 1 bác 97, clean code, sql tunning, dotnet. nghe hoàng tráng lắm,anh cto cho 1 array bảo làm gì để in kết quả array ngược lại, biết mỗi dùng loop duyệt ngược lại mảng đó rồi in ra.

Ra đòi 18 củ."

Sinh năm 97, chắc cũng khó có 3 năm kinh nghiệm nhỉ.

Mình nhớ nhầm là fresher, ok, bạn đó chắc cũng chỉ junior thôi, nhưng kể cả senior có ai đi phỏng vấn kiểu codegolf ?
Thực ra thì tuỳ vào câu hỏi, giả sử câu hỏi là 1 open-ended và người hỏi đang muốn ứng viên tự làm rõ vấn đề bằng cách hỏi thêm để tìm giới hạn bài toán thì có khi cũng là 1 vấn đề hay. Ví dụ, giả sử cái string đó là 1 cái stream, hay lưu ở LinkedList, hay lưu ở BST thì làm ntn? Hoặc có những đặc tính j đó của string đó, như là string đó là các số từ 1 -> n chẳng hạn? Hay là cái string đó ko lưu đc hết trong bộ nhớ của 1 máy tính thì làm ntn? Nếu ứng viên ko tự hỏi thêm thì có lẽ ko nhận ra đc những khía cạnh này?

Còn nếu chỉ là để thử xem có biết 1 technique cụ thể của ngôn ngữ đó hay ko thì có lẽ là ko thú vị lắm vì imo, biết hay ko biết thì cũng ko đánh giá đc j nhiều.
 
"
Giờ mấy khóa lập trình viên CRUD đầy rẫy trên mạng đến nản. :D

Vừa đi pv 1 bác 97, clean code, sql tunning, dotnet. nghe hoàng tráng lắm,anh cto cho 1 array bảo làm gì để in kết quả array ngược lại, biết mỗi dùng loop duyệt ngược lại mảng đó rồi in ra.

Ra đòi 18 củ."

Sinh năm 97, chắc cũng khó có 3 năm kinh nghiệm nhỉ.

Mình nhớ nhầm là fresher, ok, bạn đó chắc cũng chỉ junior thôi, nhưng kể cả senior có ai đi phỏng vấn kiểu codegolf ?
2021 rồi bạn ơi, 24 tuổi 18 củ thì không nhẩm ra 3 năm kinh nghiệm thì ra mấy năm?

thêm nữa thì code golf là lời tôi đưa ra không phải là của bạn OP, các bạn đừng đánh tráo. việc công ty bạn kia tuyển người thế nào tôi không biết, cũng chả quan tâm, mỗi cty hay cá nhân có tiêu chuẩn đánh giá riêng. tôi chê là chê ở đây không ai đưa ra dc giải pháp gì hay ho, dù chỉ để giải trí, vậy thôi.

ví dụ như trong lúc gõ này tôi đã nhớ ra là dùng hàm pop() cũng giải quyết được vấn đề :)
// thực ra thì có thử dân chơi dùng cái unicode RTL character nhưng đáng tiếc là không thằng nào support :(

tóm lại thì excuse thế nào chả được, cái chính là các bạn chả đưa ra dc giải pháp gì hay ho khiến người khâm phục.

cậu chủ thới chửi không sai chút nào.
 
Last edited:
2021 rồi bạn ơi, 24 tuổi 18 củ thì không nhẩm ra 3 năm kinh nghiệm thì ra mấy năm?

thêm nữa thì code golf là lời tôi đưa ra không phải là của bạn OP, các bạn đừng đánh tráo. việc công ty bạn kia tuyển người thế nào tôi không biết, cũng chả quan tâm, mỗi cty hay cá nhân có tiêu chuẩn đánh giá riêng. tôi chê là chê ở đây không ai đưa ra dc giải pháp gì hay ho thôi, dù chỉ để giải trí, vậy thôi.

ví dụ như trong lúc gõ này tôi đã nhớ ra là dùng hàm pop() cũng giải quyết được vấn đề :)
// thực ra thì có thử dân chơi dùng cái unicode RTL character nhưng đáng tiếc là không thằng nào support :(

tóm lại thì excuse thế nào chả được, cái chính là các bạn chả đưa ra dc giải pháp gì hay ho khiến người khâm phục.

cậu chủ thới chửi không sai chút nào.
Nói chung có một câu hỏi phỏng vấn thôi derail thớt vài trang luôn cũng không đáng. Nhưng sau vụ hôm nay thì tôi thấy chủ thớt nói hơi khó nghe nhưng đúng. Tôi mới làm outsource 1 năm thôi mà mindset ngày càng tù.
 
Lội tới trang 27 mệt quá nhảy lên trang này thì thấy bắt đầu chém gió về thuật toán rồi. Và như thường lệ vẫn là @Nipin cân toàn topic.

Nhưng tui muốn chém gió về cái ý ban đầu của thớt. Tui hiểu ý của thớt và đồng ý là mọi người nên cố gắng phát triển bản thân. Mọi người nên đọc lấy cái ý chứ đừng quá câu nệ câu chữ.

Tuy nhiên, cách so sánh làm product hay outsource và phán xét toidicodedao thì tui ko đồng ý.

Thứ nhất về việc phán xét người khác thì tui nghĩ khi nào họ hỏi ý kiến mình thì mình hãy nêu ý kiến. Còn ko thì đừng nên phán xét người khác là sai hay đúng? Vì tui nghĩ đúng hay sai chỉ ở góc nhìn và nó thay đổi theo thời gian.

Thứ hai là việc product với outsource. Tui ko ở Việt Nam nên tui ko biết thế nào nhưng tui cũng đang làm outsource đây (và trước đây làm bên product), tui có vài ý cho thớt có thêm cái nhìn.

1. Lương: Làm outsource lương ko cao nếu so với cùng công ty về độ lớn do vấn đề margin (lợi nhuận) và bị operative cost từ tầng ở trên CEO, C*O... Và đó là cái tệ duy nhất mà tui thấy ở outsource.

2. Benefits: Cái này thì tùy công ty nhưng nhìn chung thì cũng ko có gì khác nhiều lương tháng 13, nghỉ 30 ngày phép, chia lời với công ty cuối năm,... Còn giờ làm overtime, tui có con nhỏ 2 năm nay, tui làm 10 tiếng, book 40 tiếng đây.

2. Learning: Tui làm outsource phải học cái mới chết cha luôn. Luôn phải tư vấn khách hàng nâng cấp chuyển sang công nghệ mới. Bởi chỉ có vậy thì công ty mới có tiền, có dự án mà trả lương chứ. Nên tui ko hiểu nói làm outsource mà ko có kiến thức thì làm kiểu gì nhỉ? Từ tư vấn tới implementation, làm chết mịa chết cha luôn. Lên cloud, xuống docker kiêm đủ thứ nhiệm vụ. Học chết cha luôn chứ mà chơi.

3. Career path: Kết thúc vòng đời của Software engine là Software Architect. Lên nữa là CTO thì nó chả liên quan gì đến Tech nữa. Mà outsource còn dễ đạt được hơn làm product vì outsource có rất nhiều vị trí architect.

4. Quality of code: Khách hàng nó ko có ngu. Nói thế cho vuông. Nó bỏ chục triệu làm cái website thì thả 100k cho review code là chuyện nhỏ. Nên code lùi code đại là ở outsource nào chứ ko phải outsource mà tui biết. Dĩ nhiên, ko tới mức ngồi viết hàm sort reverse như đang chém gió ở trên nhưng cũng ko phải là quá tệ.

5. Ý kiến cá nhân: Làm outsource mỗi lần đi onsite vui hơn làm product nhiều. Má ơi, nhậu nhẹt tẹt ga. Có nhiều dịp đi đó đi đây. Quen nhiều người, cuộc sống nó cũng đầy màu sắc. Mà ở công ty lâu thì làm nhiều dự án, làm với nhiều team rất vui. Còn làm product lỡ gặp thằng chef khốn nạn thì chỉ có nước nhảy việc hoặc xin đi bộ phận khác. Hoặc phải làm với một thằng vớ vẩn nào đó cả phần đời còn lại chắc thôi chết mịa cho rồi.

Còn nhiều cái muốn chém gió mà phải bồng con nên thôi. Mốt chém tiếp.
 
Last edited:
thêm nữa thì code golf là lời tôi đưa ra không phải là của bạn OP, các bạn đừng đánh tráo. việc công ty bạn kia tuyển người thế nào tôi không biết, cũng chả quan tâm, mỗi cty hay cá nhân có tiêu chuẩn đánh giá riêng. tôi chê là chê ở đây không ai đưa ra dc giải pháp gì hay ho thôi, dù chỉ để giải trí, vậy thôi.

tóm lại thì excuse thế nào chả được, cái chính là các bạn chả đưa ra dc giải pháp gì hay ho khiến người khâm phục.

cậu chủ thới chửi không sai chút nào.

Hay ho hay không thì nó tùy thuộc vào ngữ cảnh
Mọi người đang bàn luận mang tính thực tế:
  • Thực tế về bài toán: giả sử có task ở đời thực như vậy thì xử lý thế nào
  • Thực tế về tuyển dụng: đây không phải là Google, Facebook, và vị trí đang xét tới tuy không phải beginner nhưng nó cũng chỉ là intermediate ở một công ty bình thường, với mức lương loanh quanh 18 triệu
Như vậy, nên xét xem những thứ "code golf" bạn post ở trên nó có phù hợp với góc nhìn như vậy không? Có lẽ ít nhất thì cũng nên cho người ta benefit of the doubt

Còn nhìn dưới góc độ thuần lập trình hơn, lược bớt ngữ cảnh thực tế cụ thể để mở rộng cuộc thảo luận thì ok thôi.
Như vậy, trước đánh giá trình độ người khác như các cmt ở trên, bạn cũng nên suy nghĩ một chút. Có thể người ta gà thật, nhưng giao tiếp nó phải đúng nơi đúng chỗ

Ngoài ra, nếu nói về mở rộng, cmt của trungpham90 ở trên cũng là mở rộng nhưng nó thực tế hơn các ví dụ của bạn nhiều.
 
Last edited:
không liên quan nhưng mà in ngược được các bạn ạ, nếu trong browser console dùng js :v tôi vừa nhầm codepoint :">

Code:
function print(a) {
  let r = '\u202E'
  for (let c of a) r += ' ' + c
  console.log(r)
}
print([1, 2, 3])
mà như trên thì chỉ đúng với số có một chữ số, nhiều chữ số thì phải toString() rồi revert cũng phiền :confused:
 
Status
Not open for further replies.
Back
Top