คำถามสัมภาษณ์การออกแบบระบบ อาจเป็นเรื่องเปิดกว้างจนยากเกินไปที่จะรู้วิธีเตรียมตัวที่ถูกต้อง ตอนนี้ฉันสามารถแตกรอบการออกแบบของ Amazon, Microsoft และ Adobe หลังจากซื้อ หนังสือเล่มนี้. ทบทวนทุกวัน คำถามการออกแบบ และฉันสัญญาว่าคุณจะสามารถทำลายการออกแบบได้

หมวดหมู่คำถาม
คำถาม Databricks Array
คำถามที่ 1. แทรก ลบ GetRandom O(1) Leetcode Solution คำชี้แจงปัญหา The Insert Delete GetRandom O(1) LeetCode Solution – “Insert Delete GetRandom O(1)” ขอให้คุณนำฟังก์ชันทั้งสี่นี้ไปใช้ในความซับซ้อนของเวลา O(1) insert(val): ใส่ค่า val ลงในชุดสุ่มและคืนค่า จริง หากองค์ประกอบนั้นไม่มีอยู่ในชุดในตอนแรก มันคืนค่าเท็จเมื่อ ...
คำถามที่ 2. ดักจับน้ำฝน Leetcode Solution คำชี้แจงปัญหา The Trapping Rain Water LeetCode Solution – “trapping Rain Water” ระบุว่ามีอาร์เรย์ของความสูงซึ่งแสดงถึงแผนที่ระดับความสูงที่ความกว้างของแต่ละแถบคือ 1 เราจำเป็นต้องค้นหาปริมาณน้ำที่ขังอยู่หลังฝนตก ตัวอย่าง: อินพุต: ความสูง = [0,1,0,2,1,0,1,3,2,1,2,1] เอาต์พุต: 6 คำอธิบาย: ตรวจสอบ ...
คำถามที่ 3. นับลำดับต่อมาทั้งหมดที่มีผลิตภัณฑ์น้อยกว่า K ปัญหา“ นับลำดับต่อมาทั้งหมดที่มีผลิตภัณฑ์น้อยกว่า K” ระบุว่าคุณได้รับอาร์เรย์ของจำนวนเต็ม ตอนนี้หาจำนวนลำดับต่อมาที่มีผลคูณน้อยกว่าอินพุตที่กำหนด K ตัวอย่าง a [] = {1, 2, 3, 4, 5} k = 8 จำนวนลำดับต่อมาน้อยกว่า ...
คำถามที่ 4. ผลรวมขององค์ประกอบต่ำสุดและสูงสุดของ subarrays ขนาด k ทั้งหมด คำชี้แจงปัญหาปัญหา“ ผลรวมขององค์ประกอบต่ำสุดและสูงสุดของ subarrays ขนาด k ทั้งหมด” ระบุว่าคุณได้รับอาร์เรย์ที่มีจำนวนเต็มบวกและจำนวนเต็มลบค้นหาผลรวมขององค์ประกอบต่ำสุดและสูงสุดของอาร์เรย์ย่อยทั้งหมดที่มีขนาด k ตัวอย่าง arr [] = {5, 9, 8, 3, ...
คำถามที่ 5. นับ subarrays ด้วยจำนวน 1 และ 0 เท่ากัน คำชี้แจงปัญหาปัญหา“ นับ subarrays ด้วยจำนวน 1 และ 0 เท่ากัน” ระบุว่าคุณได้รับอาร์เรย์ที่ประกอบด้วย 0 และ 1 เท่านั้น คำสั่งปัญหาขอให้ค้นหาจำนวนอาร์เรย์ย่อยที่มีจำนวนเท่ากับ 0 ของโฆษณา 1 ตัวอย่าง arr [] = {0, 0, 1, ...
คำถามที่ 6. นับ subarrays ที่มีองค์ประกอบที่แตกต่างกันทั้งหมดเหมือนกับอาร์เรย์ดั้งเดิม คำชี้แจงปัญหา“ Count subarrays ที่มีองค์ประกอบที่แตกต่างกันทั้งหมดเหมือนกับอาร์เรย์ดั้งเดิม” ระบุว่าคุณได้รับอาร์เรย์จำนวนเต็ม คำสั่งปัญหาขอให้ค้นหาจำนวนอาร์เรย์ย่อยทั้งหมดที่มีองค์ประกอบที่แตกต่างกันทั้งหมดตามที่มีอยู่ในอาร์เรย์ดั้งเดิม ตัวอย่าง arr [] = {2, 1, 3, 2, ...
คำถามที่ 7. ค้นหาค่าจำนวนเต็มบวกที่เล็กที่สุดที่ไม่สามารถแสดงเป็นผลรวมของชุดย่อยใด ๆ ของอาร์เรย์ที่กำหนด คำชี้แจงปัญหาคุณจะได้รับอาร์เรย์ของจำนวนเต็ม เราต้องหาค่าจำนวนเต็มบวกที่เล็กที่สุดที่ไม่สามารถแสดงเป็นผลรวมของชุดย่อยใด ๆ ของอาร์เรย์ที่กำหนดได้ ตัวอย่าง arr [] = {1,4,7,8,10} 2 คำอธิบาย: เนื่องจากไม่มีอาร์เรย์ย่อยใด ๆ ที่สามารถแทน 2 เป็น ...
คำถามที่ 8. การพิมพ์วงเล็บในปัญหาการคูณเมทริกซ์ คำชี้แจงปัญหาเราจำเป็นต้องค้นหาลำดับของการคูณของเมทริกซ์เพื่อที่จะลดจำนวนการดำเนินการที่เกี่ยวข้องกับการคูณของเมทริกซ์ทั้งหมด จากนั้นเราต้องพิมพ์คำสั่งนี้เช่นการพิมพ์วงเล็บในปัญหาการคูณลูกโซ่เมทริกซ์ พิจารณาว่าคุณมีเมทริกซ์ 3 ตัว A, B, ...
คำถามที่ 9. ค้นหาสามองค์ประกอบจากสามอาร์เรย์ที่แตกต่างกันซึ่ง a + b + c = sum Three Sum เป็นปัญหาที่ผู้สัมภาษณ์ชื่นชอบ เป็นปัญหาที่ฉันถูกถามเป็นการส่วนตัวระหว่างการสัมภาษณ์ Amazon ดังนั้นโดยไม่ต้องเสียเวลาอีกต่อไปให้เราแก้ไขปัญหา อาร์เรย์ที่มีทั้งตัวเลขบวกและลบ ตัวเลขสามตัวที่รวมกันเป็นศูนย์ / สามารถแก้ไขได้, ...
คำถามที่ 10. ดักน้ำฝน LeetCode Solution ในปัญหาดักน้ำฝน LeetCode เราได้ให้จำนวนเต็มไม่เป็นลบจำนวน N ที่แสดงแผนที่ระดับความสูงและความกว้างของแต่ละแถบคือ 1 เราต้องหาปริมาณน้ำที่สามารถขังอยู่ในโครงสร้างด้านบนได้ ตัวอย่าง ให้เข้าใจว่าโดยตัวอย่าง สำหรับ ...
คำถามที่ 11. จำนวนบวกที่เล็กที่สุดที่ขาดหายไปในอาร์เรย์ที่ไม่ได้เรียงลำดับ คำชี้แจงปัญหาในอาร์เรย์ที่ไม่ได้เรียงลำดับให้ค้นหาจำนวนบวกที่น้อยที่สุดที่ขาดหายไปในอาร์เรย์ที่ไม่ได้เรียงลำดับ จำนวนเต็มบวกไม่รวม 0 เราสามารถแก้ไขอาร์เรย์เดิมได้หากต้องการ อาร์เรย์อาจประกอบด้วยตัวเลขบวกและลบ ตัวอย่างก. อาร์เรย์อินพุต: [3, 4, -1, 0, -2, 2, 1, ...
คำถาม Databricks String
คำถามที่ 12. การรวมตัวอักษรของหมายเลขโทรศัพท์ ในการผสมตัวอักษรของปัญหาหมายเลขโทรศัพท์เราได้กำหนดสตริงที่มีตัวเลขตั้งแต่ 2 ถึง 9 ปัญหาคือการค้นหาชุดค่าผสมที่เป็นไปได้ทั้งหมดที่อาจแสดงด้วยหมายเลขนั้นหากทุกหมายเลขมีตัวอักษรบางตัวกำหนดไว้ การกำหนดหมายเลขคือ ...
คำถามที่ 13. วิธีถอดรหัส ในปัญหา Decode Ways เราได้กำหนดสตริงที่ไม่ว่างเปล่าซึ่งมีเพียงตัวเลขกำหนดจำนวนวิธีทั้งหมดในการถอดรหัสโดยใช้การแมปต่อไปนี้: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 ตัวอย่าง S =“ 123” จำนวนวิธีในการถอดรหัสสตริงนี้คือ 3 ถ้าเรา ...
คำถามที่ 14. แปลงสตริงที่เป็นการทำซ้ำของสตริงย่อยของความยาว K คำชี้แจงปัญหาในปัญหา“ การแปลงสตริงที่เป็นการทำซ้ำของสตริงย่อยของความยาว K” เราได้กำหนดสตริง“ s” และจำนวนเต็ม“ k” เขียนโปรแกรมเพื่อตรวจสอบว่าสามารถแปลงเป็นสตริงที่เป็นการซ้ำของสตริงย่อยด้วย ...
คำถามต้นไม้ Databricks
คำถามที่ 15. ตรวจสอบว่า Binary Tree ที่ระบุนั้นสมบูรณ์หรือไม่ คำชี้แจงปัญหาปัญหา“ ตรวจสอบว่าต้นไม้ไบนารีที่กำหนดนั้นสมบูรณ์หรือไม่” ระบุว่าคุณได้รับรากของต้นไม้ไบนารีตรวจสอบว่าต้นไม้นั้นสมบูรณ์หรือไม่ Binary Tree ที่สมบูรณ์มีทุกระดับที่เต็มไปยกเว้นระดับสุดท้ายและโหนด ...
คำถาม Databricks Stack
คำถามที่ 16. ดักจับน้ำฝน Leetcode Solution คำชี้แจงปัญหา The Trapping Rain Water LeetCode Solution – “trapping Rain Water” ระบุว่ามีอาร์เรย์ของความสูงซึ่งแสดงถึงแผนที่ระดับความสูงที่ความกว้างของแต่ละแถบคือ 1 เราจำเป็นต้องค้นหาปริมาณน้ำที่ขังอยู่หลังฝนตก ตัวอย่าง: อินพุต: ความสูง = [0,1,0,2,1,0,1,3,2,1,2,1] เอาต์พุต: 6 คำอธิบาย: ตรวจสอบ ...
คำถามที่ 17. ดักน้ำฝน LeetCode Solution ในปัญหาดักน้ำฝน LeetCode เราได้ให้จำนวนเต็มไม่เป็นลบจำนวน N ที่แสดงแผนที่ระดับความสูงและความกว้างของแต่ละแถบคือ 1 เราต้องหาปริมาณน้ำที่สามารถขังอยู่ในโครงสร้างด้านบนได้ ตัวอย่าง ให้เข้าใจว่าโดยตัวอย่าง สำหรับ ...
คำถามคิว Databricks
คำถามที่ 18. ผลรวมขององค์ประกอบต่ำสุดและสูงสุดของ subarrays ขนาด k ทั้งหมด คำชี้แจงปัญหาปัญหา“ ผลรวมขององค์ประกอบต่ำสุดและสูงสุดของ subarrays ขนาด k ทั้งหมด” ระบุว่าคุณได้รับอาร์เรย์ที่มีจำนวนเต็มบวกและจำนวนเต็มลบค้นหาผลรวมขององค์ประกอบต่ำสุดและสูงสุดของอาร์เรย์ย่อยทั้งหมดที่มีขนาด k ตัวอย่าง arr [] = {5, 9, 8, 3, ...
คำถามที่ 19. ตรวจสอบว่า Binary Tree ที่ระบุนั้นสมบูรณ์หรือไม่ คำชี้แจงปัญหาปัญหา“ ตรวจสอบว่าต้นไม้ไบนารีที่กำหนดนั้นสมบูรณ์หรือไม่” ระบุว่าคุณได้รับรากของต้นไม้ไบนารีตรวจสอบว่าต้นไม้นั้นสมบูรณ์หรือไม่ Binary Tree ที่สมบูรณ์มีทุกระดับที่เต็มไปยกเว้นระดับสุดท้ายและโหนด ...
คำถาม Databricks Matrix
คำถามที่ 20. การพิมพ์วงเล็บในปัญหาการคูณเมทริกซ์ คำชี้แจงปัญหาเราจำเป็นต้องค้นหาลำดับของการคูณของเมทริกซ์เพื่อที่จะลดจำนวนการดำเนินการที่เกี่ยวข้องกับการคูณของเมทริกซ์ทั้งหมด จากนั้นเราต้องพิมพ์คำสั่งนี้เช่นการพิมพ์วงเล็บในปัญหาการคูณลูกโซ่เมทริกซ์ พิจารณาว่าคุณมีเมทริกซ์ 3 ตัว A, B, ...
Databricks คำถามอื่นๆ
คำถามที่ 21. ที่เก็บคีย์-ค่าตามเวลา LeetCode Solution คำชี้แจงปัญหา ที่เก็บคีย์-ค่าตามเวลา โซลูชัน LeetCode – ออกแบบโครงสร้างข้อมูลคีย์-ค่าตามเวลาที่สามารถจัดเก็บค่าได้หลายค่าสำหรับคีย์เดียวกันในเวลาที่ต่างกัน และดึงค่าของคีย์ในเวลาที่ประทับที่แน่นอน ใช้คลาส TimeMap: TimeMap() เริ่มต้นวัตถุของโครงสร้างข้อมูล ชุดโมฆะ (คีย์สตริง, สตริง ...
คำถามที่ 22. ออกแบบ Skiplist โซลูชัน LeetCode การออกแบบคำชี้แจงปัญหา Skiplist โซลูชัน LeetCode - ออกแบบ Skiplist โดยไม่ต้องใช้ไลบรารี่ในตัว รายการที่ข้ามคือโครงสร้างข้อมูลที่ใช้เวลา O(log(n)) เพื่อเพิ่ม ลบ และค้นหา เมื่อเทียบกับต้นไม้และต้นไม้สีแดง-ดำซึ่งมีฟังก์ชันและประสิทธิภาพเหมือนกัน ความยาวของโค้ดของ Skiplist สามารถเปรียบเทียบได้ ...
คำถามที่ 23. หมุนภาพ โซลูชัน LeetCode คำชี้แจงปัญหา หมุนรูปภาพ โซลูชัน LeetCode – คุณจะได้รับเมทริกซ์ nxn 2D ที่แสดงรูปภาพ หมุนรูปภาพ 90 องศา (ตามเข็มนาฬิกา) คุณต้องหมุนรูปภาพแทนตำแหน่ง ซึ่งหมายความว่าคุณต้องแก้ไขเมทริกซ์ 2D อินพุตโดยตรง อย่าจัดสรรเมทริกซ์ 2D อื่นและทำการหมุน ตัวอย่างกรณีทดสอบ 1: อินพุต: ...
คำถามที่ 24. ใบไม้ที่ใกล้เคียงที่สุดใน Binary Tree LeetCode Solution คำชี้แจงปัญหา ใบไม้ที่ใกล้เคียงที่สุดในโซลูชัน LeetCode ทรีไบนารี – ให้รากของต้นไม้ไบนารีที่ทุกโหนดมีค่าที่ไม่ซ้ำกันและจำนวนเต็มเป้าหมาย k คืนค่าของโหนดปลายสุดที่ใกล้ที่สุดไปยังเป้าหมาย k ในทรี ใกล้ใบไม้ที่สุด หมายถึง จำนวนขอบที่เดินทางไปบนไบนารีทรีน้อยที่สุดไปยัง ...
คำถามที่ 25. ผสาน K เรียงลำดับรายการที่เชื่อมโยง ปัญหาการรวมรายการที่เชื่อมโยงที่เรียงลำดับ K มีชื่อเสียงมากตามมุมมองของการสัมภาษณ์ คำถามนี้ถามหลายครั้งใน บริษัท ใหญ่ ๆ เช่น Google, Microsoft, Amazon ฯลฯ ตามชื่อที่แนะนำเราได้รับรายการที่เชื่อมโยงที่เรียงลำดับ k เราต้องรวมเข้าด้วยกันเป็น ...
คำถามที่ 26. หน้าต่างบานเลื่อนสูงสุด ในปัญหา Sliding Window Maximum เราได้กำหนดจำนวนอาร์เรย์สำหรับแต่ละหน้าต่างขนาด k ที่อยู่ติดกันให้ค้นหาองค์ประกอบสูงสุดในหน้าต่าง ตัวอย่างอินพุต nums [] = {1,3, -1, -3,5,3,6,7} k = 3 เอาต์พุต {3,3,5,5,6,7} คำอธิบายวิธีไร้เดียงสาสำหรับหน้าต่างบานเลื่อนสูงสุดสำหรับ ทุกหน้าต่างขนาด k ที่ติดกันข้าม ...