View profile

#210 - Kĩ năng giải quyết vấn đề

Grokking Vietnam
Grokking Vietnam
Trong số này, chúng ta cùng tìm hiểu về:
  • Trí tuệ cảm xúc và hướng dẫn cho kỹ sư phần mềm; 
  • Quá trình hợp nhất các key-value storage tại Pinterest;
  • Góc lập trình và bài toán Sliding Window Maximum;
  • Xem lại Grokking Techtalk #44 qua Youtube;
  • Cách quản lý các model ML tại Intuit;

Những bài viết hay
Emotional Intelligence. A simple guide for Software Engineers
Có Thể Bạn Chưa Biết
Ngày 22/02/1978, là ngày xuất bản cuốn “The C Programming language” lần đầu tiên. Trong cuốn sách này, lần đầu tiên giới thiệu chương trình in văn bản “hello, world”, từ đó cụm từ “Hello, world” đã trở thành 1 quy ước ngầm và được sử dụng khi giới thiệu bất kỳ một ngôn ngữ lập trình mới nào
(by lpv)
Góc Lập Trình
Lời giải đề bài tuần trước:
Đề bài: Sliding Window Maximum
Lời giải:
Đề bài yêu cầu tìm giá trị lớn nhất của một mảng con có độ rộng nhất định khi mảng con này “trượt” trên một mảng cho trước.
Ý tưởng: tạo một ngăn xếp chứa các phần tử hiện tại của cửa sổ trượt sao cho luôn duy trì phần tử đầu tiên là phần tử lớn nhất và các phần tử sau được sắp xếp giảm dần.
Có thể thấy ngăn xếp này không nhất thiết phải chứa tất cả các phần tử trong cửa sổ trượt hiện tại, các phần tử cần được chứa trong ngăn xếp là các phần tử 
- Nằm trong cửa sổ trượt hiện tại. 
- Không bé hơn bất kì phần tử nào nằm bên phải nó trong cửa sổ.
Để cài đặt lời giải, ta có thể sử dụng cấu trúc dữ liệu Deque (ngăn xếp 2 đầu).
Thuật toán như sau:
- Khởi tạo Deque với k-1 phần tử đầu tiên. (k là độ rộng của cửa sổ)
- Với bước trượt của cửa sổ:
  • Xóa khỏi Deque phần tử cuối cùng cho đến khi phần tử cuối có giá trị lớn hơn giá trị của phần tử mới.
  • Thêm phần tử mới vào đuôi của Deque.
  • Thêm phần tử đầu tiên của Deque vào mảng đáp án (là phần tử lớn nhất của cửa sổ hiện tại).
  • Nếu phần tử đầu tiên của Deque nằm ngoài phạm vi của cửa sổ trượt ở bước tiếp theo, xóa nó khỏi Deque.
Vì mỗi phần tử chỉ được thêm/bớt đúng 1 lần duy nhất, nên độ phức tạp của lời giải là O(N).
Mở rộng: thực tế cách cài đặt tổng quát của Deque như trên còn gọi là Monotonic Queue. Một cách cài đặt tổng quát hơn cho lời giải trên như sau
Một số đề bài có liên quan đến Monotonic Queue:
(by ndaadn & phucnh)
Tech Talks
Grokking Techtalk #44: Problem Solving Skills for Software Engineers (Tư duy giải quyết vấn đề)
Code & Tools
  • Akka Actor model: Mô hình Actor đã được Carl Hewitt đề xuất nhiều thập kỷ trước như một cách cho vấn đề xử lý song song (parallel processing) trong network có hiệu suất cao, một môi trường chưa có vào thời điểm đó. Ngày nay,khả năng phần cứng, cơ sở hạ tầng đã bắt kịp và vượt quá tầm nhìn của Hewitt. Việc xây dựng hệ thống phân tán với các yêu cầu khắt khe gặp phải những thách thức không thể giải quyết triệt để bằng mô hình hướng đối tượng (OOP) truyền thống. Tuy nhiên, những khó khăn đó có thể được giải quyết dễ dàng với mô hình Actor.
  • App Diagrams: Ứng dụng miễn phí giúp tạo flowcharts, process diagrams, org charts, UML, ER và network diagrams một cách dễ dàng
Góc Sponsors
Fossil Việt Nam, tiền thân là Misfit, giữ vị thế là Trung tâm Nghiên cứu và Phát triển Công nghệ Thiết bị đeo thông minh trực thuộc Fossil Group. Từ những ngày đầu thành lập, đội ngũ kỹ sư Việt đã thiết kế và xây dựng hệ sinh thái thiết bị đeo thông minh phục vụ cuộc sống của hàng triệu người toàn cầu. Chúng tôi tự hào là những nhà đổi mới luôn bứt phá giới hạn của công nghệ và thời trang, tập trung phát triển 3 nhóm sản phẩm chủ lực: thiết bị, ứng dụng, và dữ liệu trên đám mây.
ĐIỀU FOSSIL TỰ TIN MANG ĐẾN CHO BẠN?
  • Tham gia nghiên cứu và phát triển Thiết bị đeo thông minh hàng triệu người dùng trên toàn thế giới. Với Fossil, mỗi việc bạn làm đều có thể mang lại thay đổi cho cuộc sống của rất nhiều người.
  • Lộ trình nghề nghiệp đa dạng, bất kể bạn muốn quản lý đội ngũ hay tập trung phát triển chuyên môn kỹ thuật.
  • Cơ hội làm việc và học hỏi từ các kỹ sư Google, Qualcomm, Citizen, v.v.
  • Bảo hiểm sức khỏe cao cấp, thu nhập và phúc lợi cạnh tranh mang đến trải nghiệm làm việc toàn diện nhất.
  • Môi trường làm việc linh hoạt để bạn thỏa sức học hỏi, phát triển và tạo ra tác động tích cực!
Fossil Việt Nam đang mở ra cơ hội với hàng loạt vị trí hấp dẫn (Cloud Engineer, Android Engineer, Software Architect), mời bạn tham khảo chi tiết công việc tại ĐÂY.
Kết nối với Fossil Việt Nam
Quotes
“I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out it was an awful lot of fun. Of course the paying customers got shafted every now and then and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them setting them off in new directions and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all I hope we don’t become missionaries. Don’t feel as if you’re Bible sales-men. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands I think and hope is intelligence: the ability to see the machine as more than when you were first led up to it that you can make it more.”
― Alan J. Perlis
Bạn đánh giá nội dung số newsletter này thế nào?
(1 = Rất tệ / 5 = Rất tốt)
👎 1 ——- 2 —— 3 —— 4 —— 5 👍
(Việc đánh giá của các bạn sẽ giúp chúng tôi cải thiện nội dung newsletter tốt hơn)
Did you enjoy this issue? Yes No
Grokking Vietnam
Grokking Vietnam

Cảm ơn bạn đã dành thời gian đọc newsletter kỳ này và chúng tôi hi vọng rằng bạn đã khám phá ra một số điều mới mẻ từ các bài viết trên. Các bạn có thể đọc lại các số cũ tại website newsletter.grokking.org

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.
Viet Nam