thảo luận Câu hỏi phỏng vấn - làm sao nodejs chạy với 1 thread?

  • Người tạo chủ đề Người tạo chủ đề hoctrokha
  • Ngày bắt đầu Ngày bắt đầu
Đang làm nhúng, mấy cái low level, multicore, multi task/thread mà đọc câu trả lời mà mắc ói =((
Làm trên Linux hay Win x86 thì liên quan đầy đến userpsace, rồi nào system call, interrupt, nested interupt, message queue bla bla.

Ông nội thớt chắc éo biết http/https được handle ra sao trong mô hình OSI, rồi cái "card mạng" làm cái gì để transfer từ ethernet packet, ip packet, network packet tới applicatio packet (trong trường hợp này là http). Tóm lại sai bét.
Rồi bạn phán đi coi nào, ngồi chê sai.
 
NIC phải thông báo cho CPU biết rằng nó xong việc bằng cách báo cho CPU biết thông qua PCIE.
Cái gì vậy trời =(( =(( =((

Ở đây tôi không phải chê trách gì, dev thì có nhiều dev, nhiều ngành nghề. Ai làm "tầng trên" thì làm, biết fundamental là được. Tôi làm "tầng dưới" cũng không rõ mấy cách "tầng trên" làm ra sao. Đôi khi viết C# để viết mấy tool linh tinh test với hardware thôi.

NHƯNG bớt xàm lol, hiểu chưa rõ đi hỏi ứng viên rồi xàm lol lần nữa trên mạng. Thay vì nội dung trao đổi thì lại đi dạy khôn, kiến thức "low level" thiếu hụt trầm trọng mà nói chuyện trịch thượng quá. :(=((
 
...

Câu trả lời đúng là: Không có cái gì từ phía CPU ngồi đợi cái http request đó cả. Việc xử lý và thông báo kết qủa http request được xử lý ở mức phần cứng, cái card mạng báo cho CPU là việc CPU giao cho nó đã xong, nó bắn một message cho CPU để báo rằng nó đã xong việc, cpu báo với OS, OS báo lại với nodejs.

Nói chung là vậy, câu trả lời trên hơi sơ sài, nhưng để hiểu và trả lời được vậy thì phải hiểu được một nùi thứ từ phía phần cứng + hệ điều hành.
...
Bạn nên lựa chọn góc nhìn trước khi đơn giản hóa tùy tiện gây khó hiểu; và nghe nguy hiểm kiểu CPU đợi hay không đợi http request.
Nếu góc nhìn từ phần mềm thì nên chọn mô hình logic là App--OS--Driver--Hardware. Trong sơ đồ này không nên nhét CPU vào vì nó không ngang cấp, nó là 1 phần trong lớp hardware nhưng vai trò đặc trưng là người thực thi cho mấy thằng mềm.
Cứ vo cục tùy tiện thì chỉ có thằng Cứng giao lưu phối kết hợp với thằng Mềm, sinh hay không sinh cũng được cả.
 
Cái gì vậy trời =(( =(( =((

Ở đây tôi không phải chê trách gì, dev thì có nhiều dev, nhiều ngành nghề. Ai làm "tầng trên" thì làm, biết fundamental là được. Tôi làm "tầng dưới" cũng không rõ mấy cách "tầng trên" làm ra sao. Đôi khi viết C# để viết mấy tool linh tinh test với hardware thôi.

NHƯNG bớt xàm lol, hiểu chưa rõ đi hỏi ứng viên rồi xàm lol lần nữa trên mạng. Thay vì nội dung trao đổi thì lại đi dạy khôn, kiến thức "low level" thiếu hụt trầm trọng mà nói chuyện trịch thượng quá. :(=((
Sống k giúp ích cho đời cũng thì thôi bớt nói lại b. Mình k ghét người nói mình sai, mình ghét người chỉ biết chửi chứ không giúp ích gì cho ng khác được.
Nếu comment kế của b ko nói gì hay ho hữu ích thì mình k thèm rep nữa nhé.
 
Ý là bạn thớt có vẻ hay nêu các vấn đề tỏ ra nguy hiểm. Nhưng ít ra thông điệp đủ rõ ràng để người nghe ngẫm ra cái gì đó, chứ nói kiểu huề vốn thì thấy nó ... huề vốn.

Minh họa post trên tôi có thể tóm gọn mọi vấn đề về ứng dụng máy tính thế này: có chị Mềm ngồi trên đầu giao lưu với các anh Cứng, có 2 chế độ chính, chế độ Sinh thì mềm đá phát hỏi xong chờ Cứng phản hồi ra kết quả; chế độ Không Sinh thì Mềm hỏi rồi đi giao lưu với anh Cứng 2, khi nào Cứng 1 bảo xong rồi thì xếp lịch quay lại nhận kết quả.

Nghe cũng tổng quát nhưng chả thu được cái gì hữu ích.
 
Sống k giúp ích cho đời cũng thì thôi bớt nói lại b. Mình k ghét người nói mình sai, mình ghét người chỉ biết chửi chứ không giúp ích gì cho ng khác được.
Nếu comment kế của b ko nói gì hay ho hữu ích thì mình k thèm rep nữa nhé.
Đang làm ở cty nào vậy quý anh

via theNEXTvoz for iPhone
 
Bạn nên lựa chọn góc nhìn trước khi đơn giản hóa tùy tiện gây khó hiểu; và nghe nguy hiểm kiểu CPU đợi hay không đợi http request.
Nếu góc nhìn từ phần mềm thì nên chọn mô hình logic là App--OS--Driver--Hardware. Trong sơ đồ này không nên nhét CPU vào vì nó không ngang cấp, nó là 1 phần trong lớp hardware nhưng vai trò đặc trưng là người thực thi cho mấy thằng mềm.
Cứ vo cục tùy tiện thì chỉ có thằng Cứng giao lưu phối kết hợp với thằng Mềm, sinh hay không sinh cũng được cả.
Ừ, nhẽ ra t nên như vậy, nhưng k ngờ mọi ng ko hiểu.
Ý là bạn thớt có vẻ hay nêu các vấn đề tỏ ra nguy hiểm. Nhưng ít ra thông điệp đủ rõ ràng để người nghe ngẫm ra cái gì đó, chứ nói kiểu huề vốn thì thấy nó ... huề vốn.

Minh họa post trên tôi có thể tóm gọn mọi vấn đề về ứng máy tính thế này: có chị Mềm ngồi trên đầu giao lưu với các anh Cứng, có 2 chế độ chính, chế độ Sinh thì mềm đá phát hỏi xong chờ Cứng phản hồi ra kết quả; chế độ Không Sinh thì Mềm hỏi rồi đi giao lưu với anh Cứng 2, khi nào Cứng 1 bảo xong rồi thì xếp lịch quay lại nhận kết quả.

Nghe cũng tổng quát nhưng chả thu được cái gì hữu ích.
Mình không nghĩ post này của mình sẽ đem lại kiến thức hữu ích gì cho mọi ng cả, tại nó quá tóm tắt và mình cũng k rảnh để viết những thứ ng khác đã viết rồi, nên để mọi ng đi tìm hiểu thì sẽ tốt hơn. Nhưng nó sẽ đem cho mọi ng câu hỏi để bắt đầu tìm hiểu.
Với lại cái youtube channel mình share mới là cái mọi ng cần xem, đó mới là cái hữu ích.
Đang làm ở cty nào vậy quý anh

via theNEXTvoz for iPhone
Mình đang làm ở C.ty X và đang startup 1 sản phẩm Y của mình, b hỏi làm chi?
 
Mình đang làm ở C.ty X và đang startup 1 sản phẩm Y của mình, b hỏi làm chi?
Không có ý gì cả :go:
Chỉ là thấy thím đặt câu hỏi phỏng vấn không rõ ràng - ngay cách thím đặt câu hỏi cho AI là ví dụ.
Nội dung câu hỏi thím hỏi thì chắc tui đang nghĩ là công việc thường ngày phải đụng tới low level mới hỏi tới mức đó th

via theNEXTvoz for iPhone
 
Không có ý gì cả :go:
Chỉ là thấy thím đặt câu hỏi phỏng vấn không rõ ràng - ngay cách thím đặt câu hỏi cho AI là ví dụ.
Nội dung câu hỏi thím hỏi thì chắc tui đang nghĩ là công việc thường ngày phải đụng tới low level mới hỏi tới mức đó th

via theNEXTvoz for iPhone
Ok vậy bạn đặt câu hỏi cho AI rõ ràng cho tôi tham khảo thử coi.
Context ở đây là 1 dev mới tốt nghiệp đại học ngành công nghệ phần mềm.
 
attachment.webp


:go::go:
Và câu trả lời của quý anh cũng sai lòi.

Thứ nhất ở góc độ người phỏng vấn a không phân biệt được cái gọi là JS runtime vs JS.
Thứ hai, ở application layer thì libuv nó có CHỜ (epoll wait) a nhé chứ kết luận không có thứ gì của CPU chờ là sai.
Thứ ba là về phần cứng, mấy cái này tui không rành nên không dám lạm bàn mà theo mấy anh trên kia thì quý anh cũng sai lòi :sexy_girl:


via theNEXTvoz for iPhone
 
Sửa lần cuối:
Same thing, mình thử cùng 1 câu của bạn trên gemini, AI nó coi O/S là blackbox. Bạn vẫn phải hỏi thêm nhiều câu hỏi để AI nó trả lời ra vấn đề.
Chưa kể là bạn sẽ hỏi ứng viên thẳng vào cách libuv hoạt động?
Nói thật với bạn, khi mình tìm được câu trả lời cho câu hỏi này, mình còn chưa biết nodejs là gì.
Có nghĩa câu hỏi này hoàn toàn không cần kiến thức về libuv hay bất kì 1 ngôn ngữ nào để có thể trả lời. Nếu hiểu cách nó hoạt động thì ngôn ngữ hay framework nào cũng như nhau cả.
Vậy tại sao phải hỏi về libuv làm cái gì?
 
Câu trả lời đúng là: Không có cái gì từ phía CPU ngồi đợi cái http request đó cả. Việc xử lý và thông báo kết qủa http request được xử lý ở mức phần cứng, cái card mạng báo cho CPU là việc CPU giao cho nó đã xong, nó bắn một message cho CPU để báo rằng nó đã xong việc, cpu báo với OS, OS báo lại với nodejs.
Card mạng nào báo cho CPU cha
Kernel OS mới là thằng xử lý nhé.
 
Same thing, mình thử cùng 1 câu của bạn trên gemini, AI nó coi O/S là blackbox. Bạn vẫn phải hỏi thêm nhiều câu hỏi để AI nó trả lời ra vấn đề.
Chưa kể là bạn sẽ hỏi ứng viên thẳng vào cách libuv hoạt động?
Nói thật với bạn, khi mình tìm được câu trả lời cho câu hỏi này, mình còn chưa biết nodejs là gì.
Có nghĩa câu hỏi này hoàn toàn không cần kiến thức về libuv hay bất kì 1 ngôn ngữ nào để có thể trả lời. Nếu hiểu cách nó hoạt động thì ngôn ngữ hay framework nào cũng như nhau cả.
Vậy tại sao phải hỏi về libuv làm cái gì?
Ụa vậy lôi NodeJS vô làm gì r không cho đề cập tới libuv :sweat:
Tóm lại là a chỉ muốn nghe người trả lời trình bày về phần cứng thôi chứ gi?
Nếu người ta trình bày sai a có đủ kiến thức để correct lại ngay lúc đó không

via theNEXTvoz for iPhone
 
Sửa lần cuối:
Ụa vậy lôi NodeJS vô làm gì r không cho đề cập tới libuv :sweat:
Tóm lại là a chỉ muốn nghe người trả lời trình bày về phần cứng thôi chứ gi?
Nếu người ta trình bày sai a có đủ kiến thức để correct lại ngay lúc đó không

via theNEXTvoz for iPhone
Bởi vì không phải ai cũng biết libuv, t dùng nodejs xong 1 thời gian sau mới biết đến libuv. Ứng viên hoàn toàn có thể trả lời câu hỏi đó mà k cần biết libuv là cái gì.
 
Bởi vì không phải ai cũng biết libuv, t dùng nodejs xong 1 thời gian sau mới biết đến libuv. Ứng viên hoàn toàn có thể trả lời câu hỏi đó mà k cần biết libuv là cái gì.
Thì bởi vậy tui mới thắc mắc công ty anh là làm về cái gì?
Có phải đang tuyển role SE hay không?


via theNEXTvoz for iPhone
 
Sống k giúp ích cho đời cũng thì thôi bớt nói lại b. Mình k ghét người nói mình sai, mình ghét người chỉ biết chửi chứ không giúp ích gì cho ng khác được.
Nếu comment kế của b ko nói gì hay ho hữu ích thì mình k thèm rep nữa nhé.
Anh à, anh đi ôn lại kiến thức. Gì mà CPU, gì mà PCIe sai hết kiến thức.
Kiến thức tôi nói bên trên rồi, anh không chịu cầu thị, tiếp thu, sửa đổi thôi. Anh chịu khó ôn lại hay học thêm đi.

Tôi không chúc anh may mắn nhưng tôi sẽ chúc các ứng viên của anh may mắn để họ không phải ngờ vực vào kiến thức "low level" như anh đề cập.
 
Sửa lần cuối:
Thì bởi vậy tui mới thắc mắc công ty anh là làm về cái gì?
Có phải đang tuyển role SE hay không?


via theNEXTvoz for iPhone
Vậy ý b là SE role ko cần biết cái này, chỉ cần biết OS là 1 cái blackbox, nó sẽ xử lý giúp mình là được và ở trên tầng application biết cái này là thừa?
Nếu b nói là đúng thì để t chỉ ra vài case mà nó trở nên quan trọng.
 

Thống kê chủ đề

Ngày tạo
hoctrokha,
Người trả lời cuối
Có Ai Xúi Giục Em Không,
Trả lời
219
Lượt xem
21.320
Quay lại
Lên đầu trang