View profile

#209 - Uber's Big Data Platform: 100+ Petabytes dữ liệu

Grokking Vietnam
Grokking Vietnam
Trong số này, chúng ta cùng tìm hiểu về:
  • Cách Wayfair xây dựng hệ thống ML cho marketing;
  • Cách Twitter sử dụng NLP để truy vấn dữ liệu nội bộ;
  • Quá trình Uber thiết kế hệ thống Big Data;
  • Lời giải bài toán “Find K-th Smallest Pair Distance”;
  • Grokking Techtalk #44 về chủ đề “Kỹ năng Giải quyết Vấn đề”.

Những bài viết hay
Góc Lập Trình
Đề tuần này: Sliding Window Maximum https://leetcode.com/problems/sliding-window-maximum/
Lời giải đề bài tuần trước:
Lời giải:
Đề bài yêu cầu tìm cặp thứ kth có khoảng cách giữa 2 số là nhỏ nhất trong tất cả các cặp tạo được bởi mảng đầu vào nums. Với những bài yêu cầu tìm kth lớn nhất, hoặc nhỏ nhất, ta có thể nghĩ ngay tới các hướng tiếp cận như sử dụng giải thuật sắp xếp, cấu trúc dữ liệu heap, hoặc giải thuật quick select… Những hướng tiếp cận này thường cho ta lời giải tối ưu với những bài cho biết trước “đối tượng tìm kiếm". Ví dụ như những bài sau:
Tuy nhiên, trong bài này để áp dụng những hướng tiếp cận trên, ta phải tạo tất cả các cặp từ mảng đầu vào. Gọi độ dài của mảng là n , ta có n * (n - 1) / 2 cặp. Vì vậy, độ phức tạp time complexity và space complexity tốt nhất mà ta có được sẽ là O(n^2).
Để tối ưu bài này, ta cần quan sát kỹ hơn vào dữ kiện “khoảng cách giữa 2 số trong cặp". Nếu ta có thể tạo được m cặp với khoảng cách ≤ D, vậy với minD là khoảng cách nhỏ nhất sao cho m >= k, minD chính là kết quả mà ta cần tìm. Không gian tìm kiếm của D là khoảng [0 … max(nums) - min(nums)] tăng dần, vì vậy ta có thể áp dụng binary search như sau: https://pastebin.com/73X6CQ24
Việc đếm số cặp có khoảng cách ≤ mid có độ phức tạp time complexity là O(n), vì vậy tổng time complexity là O(n * logD) với D là khoảng cách lớn nhất giữa 2 số trong mảng đầu vào.
(by phucnh)
Tech Talks
Code & Tools
  • Behat - một framework kiểm thử dựa trên phương thức Behavior-Driven Development sử dụng ngôn ngữ PHP
  • Mermaid - một thư viện tạo diagram và flowchart từ text
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
You are not reading this book because a teacher assigned it to you, you are reading it because you have a desire to learn, and wanting to learn is the biggest advantage you can have.
― Cory Althoff, The Self-Taught Programmer: The Definitive Guide to Programming Professionally
—————————————————————————
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