Decorator là ví dụ tốt cho Composition over Inheritance. Để có hành vi của lớp nào đó không nhất thiết phải thừa kế nó. Rất tiếc là mẫu này lại không phổ biến trong thực tế. Các framework hay ngôn ngữ bậc cao cũng cung cấp sẵn các giải pháp mở rộng khác dạng annotation.
Một số DI library cung cấp cách cài đặt Decorator có vẻ giúp mẫu này dễ tiếp cận và ứng dụng hơn.
@Clarence161095 Thank you, bro. Lần đầu ngồi phỏng vấn tôi còn run hơn ứng viên ông ạ :v
Nhưng mà chắc phỏng vấn nhiều thành quen. Còn quá trình phỏng vấn thì anh em mình đều từng trải qua giai đoạn tuổi trẻ đó, nên cũng phần nào hiểu được tâm lý của các bạn bây giờ.
Với lại trước khi tham gia phỏng vấn, tôi cũng từng được một đàn anh chia sẻ rằng: "Khi cảm thấy ứng viên mất bình tĩnh, thì nên đặt những câu hỏi dễ thôi, để bạn ấy lấy lại sự bình tĩnh và tự tin. Vì nhiều khi ứng viên thực sự có tiềm năng, nhưng vì ngại hoặc run, mà mình cứ hỏi dồn dập quá là có thể sẽ bỏ lỡ mất những ứng viên tốt. Thậm chí là gây ảnh hưởng tâm lý cho bạn ấy về sau nữa. Như thế là nghiệp ấy."
Tôi thấy lời khuyên thấm vch, nên dần dần cũng cố gắng áp dụng như thế.
@tmsangdev Cảm ơn nhé tôi cũng học hỏi được từ ông nhiều. Tôi thấy ông phỏng vấn khá bình tĩnh kiểu mấy bạn trả lời vậy mà ko hề bất ngờ, cũng tạo điều kiện cho các bạn tự tin hơn. (hay kiến thức này đã được tiếp thu) thank you 😁.
Hoàn toàn đủ bạn nhé, chất lượng thì tùy thuộc vào nhiều yếu tố trong đó quan trọng nhất là cách sắp xếp và phân chia dữ liệu. Như trong ví dụ của mình thì với lượng dữ liệu mô phỏng rất ít thì hệ thống vẫn hoạt động tốt đấy ạ.
Hình như bro sốc quá nên cũng comment trên video youtube luôn rồi đúng không :v Tôi cũng có phản hồi góc nhìn cá nhân bro trên đó. Nếu bro ít dùng Youtube thì tôi gửi lại bằng comment ở đây luôn nhá:
Cũng dễ hiểu khi bạn ấy chưa va chạm nhiều với thực tế. Có thể bạn ấy từng đọc được 1 bài viết, hoặc xem video nào đó có nhắc đến 1 số kiến thức, kỹ năng để trở thành Senior, và bạn ấy tự ước lượng mình có thể đạt được những điều đó trong vòng 1 năm.
Sau này đi làm có kinh nghiệm phong phú rồi thì có thể suy nghĩ của bạn ấy sẽ thay đổi.
Hoặc thực sự bây giờ bạn ấy đã trở thành Senior rồi cũng nên 😅
Anyway, điểm này cũng không phải trọng tâm trong buổi phỏng vấn Fresher.
Bạn ơi, cho mình hỏi cái vector database đó mình chỉ có hơn 200 document trong khi xây dựng hỏi đáp thường gặp thì có đủ không nhỉ, mình xây dựng chatbot cho banking á
17': 1 năm lên senior.... xem tới phút 17 mà hết hồn plan 1 năm lên senior Quá giỏi lun
1h51': 1.5 năm lên senior hoặc techlead...
Tôi sock thật sự luôn ông... Cắm đầu cắm cổ làm gần chục chục năm mà nhắc tới từ Senior vẫn... Mới 3-4 năm ko làm với ae fresher VN mà ko ngờ ae giờ thật sự ẢO ... 😁
@ntngoc96wd Cảm ơn về bài chia sẻ của anh.
Em có thắc mắc trong phần 4.4 API Refresh Token em thấy có đề cập đến this.users_service.setCurrentRefreshToken nhưng lại ko thấy dc đề cập trong bài viết. Nhờ anh giải thích giúp em ạ.
Em cảm ơn.
THẢO LUẬN
Decorator là ví dụ tốt cho Composition over Inheritance. Để có hành vi của lớp nào đó không nhất thiết phải thừa kế nó. Rất tiếc là mẫu này lại không phổ biến trong thực tế. Các framework hay ngôn ngữ bậc cao cũng cung cấp sẵn các giải pháp mở rộng khác dạng annotation. Một số DI library cung cấp cách cài đặt Decorator có vẻ giúp mẫu này dễ tiếp cận và ứng dụng hơn.
@Clarence161095 Ok bro. Rất vui được thảo luận cùng với ông 🤘
Cám ơn ông đã chia sẻ nhé 🥰🫰
@Clarence161095 Thank you, bro. Lần đầu ngồi phỏng vấn tôi còn run hơn ứng viên ông ạ :v
Nhưng mà chắc phỏng vấn nhiều thành quen. Còn quá trình phỏng vấn thì anh em mình đều từng trải qua giai đoạn tuổi trẻ đó, nên cũng phần nào hiểu được tâm lý của các bạn bây giờ.
Với lại trước khi tham gia phỏng vấn, tôi cũng từng được một đàn anh chia sẻ rằng: "Khi cảm thấy ứng viên mất bình tĩnh, thì nên đặt những câu hỏi dễ thôi, để bạn ấy lấy lại sự bình tĩnh và tự tin. Vì nhiều khi ứng viên thực sự có tiềm năng, nhưng vì ngại hoặc run, mà mình cứ hỏi dồn dập quá là có thể sẽ bỏ lỡ mất những ứng viên tốt. Thậm chí là gây ảnh hưởng tâm lý cho bạn ấy về sau nữa. Như thế là nghiệp ấy."
Tôi thấy lời khuyên thấm vch, nên dần dần cũng cố gắng áp dụng như thế.
@tmsangdev Cảm ơn nhé tôi cũng học hỏi được từ ông nhiều. Tôi thấy ông phỏng vấn khá bình tĩnh kiểu mấy bạn trả lời vậy mà ko hề bất ngờ, cũng tạo điều kiện cho các bạn tự tin hơn. (hay kiến thức này đã được tiếp thu) thank you 😁.
Hoàn toàn đủ bạn nhé, chất lượng thì tùy thuộc vào nhiều yếu tố trong đó quan trọng nhất là cách sắp xếp và phân chia dữ liệu. Như trong ví dụ của mình thì với lượng dữ liệu mô phỏng rất ít thì hệ thống vẫn hoạt động tốt đấy ạ.
Prompt cho LLM sinh ra Example 4 dựa trên example 2 và 3 nha bạn
Hình như bro sốc quá nên cũng comment trên video youtube luôn rồi đúng không :v Tôi cũng có phản hồi góc nhìn cá nhân bro trên đó. Nếu bro ít dùng Youtube thì tôi gửi lại bằng comment ở đây luôn nhá: Cũng dễ hiểu khi bạn ấy chưa va chạm nhiều với thực tế. Có thể bạn ấy từng đọc được 1 bài viết, hoặc xem video nào đó có nhắc đến 1 số kiến thức, kỹ năng để trở thành Senior, và bạn ấy tự ước lượng mình có thể đạt được những điều đó trong vòng 1 năm. Sau này đi làm có kinh nghiệm phong phú rồi thì có thể suy nghĩ của bạn ấy sẽ thay đổi. Hoặc thực sự bây giờ bạn ấy đã trở thành Senior rồi cũng nên 😅 Anyway, điểm này cũng không phải trọng tâm trong buổi phỏng vấn Fresher.
Bạn ơi, cho mình hỏi cái vector database đó mình chỉ có hơn 200 document trong khi xây dựng hỏi đáp thường gặp thì có đủ không nhỉ, mình xây dựng chatbot cho banking á
17': 1 năm lên senior.... xem tới phút 17 mà hết hồn plan 1 năm lên senior
Quá giỏi lun
1h51': 1.5 năm lên senior hoặc techlead...
Tôi sock thật sự luôn ông... Cắm đầu cắm cổ làm gần chục chục năm mà nhắc tới từ Senior vẫn... Mới 3-4 năm ko làm với ae fresher VN mà ko ngờ ae giờ thật sự ẢO
... 😁
Cảm ơn về những chia sẻ của bạn.
😃
Tác giả viết bài tâm huyết quá. Cảm ơn nhiều.
@ntngoc96wd Cảm ơn về bài chia sẻ của anh. Em có thắc mắc trong phần 4.4 API Refresh Token em thấy có đề cập đến this.users_service.setCurrentRefreshToken nhưng lại ko thấy dc đề cập trong bài viết. Nhờ anh giải thích giúp em ạ. Em cảm ơn.
Cho mình hỏi ở phần sinh data cho Unnatural Instructions làm sao mà từ example 2 và 3 sinh ra được example 4 vậy b ?
@MartinCrux Bác rảnh lên bài cho em và một số bạn mở mang thêm kiến thức nha ạ. Chủ đề này vẫn chưa bao giờ "nguội" luôn ạ :3
😓anh ơi có còn source code của bài viết này không ạ 😓
Cảm ơn bạn 😊
@QuanPV vậy thì có thể vấn đề nằm ở khu vực mặc định của tài khoản mail bạn đăng ký dùng API, bạn thử kiểm tra hoặc hỏi lỗi bằng gemini xem thử nhé
mình hay dùng system.text.json thay cho thư viện của Newtonsoft.Json vì tốc độ của system.text.json nhanh hơn nhiều