DevSprout / System-Design-Interview-2

가상 면접 사례로 배우는 대규모 시스템 설계 기초 2
3 stars 0 forks source link

1장: 근접성 서비스 #1

Open minkukjo opened 5 months ago

minkukjo commented 5 months ago

요구사항!

질문 타임

기능 요구 사항

비기능 요구사항

QPS 계산

데이터 모델

시스템 구성

사업장 검색 알고리즘

방안 1

방안 2

방안 3

방안4

"""
# Definition for a QuadTree node.
class Node:
    def __init__(self, val, isLeaf, topLeft, topRight, bottomLeft, bottomRight):
        self.val = val
        self.isLeaf = isLeaf
        self.topLeft = topLeft
        self.topRight = topRight
        self.bottomLeft = bottomLeft
        self.bottomRight = bottomRight
"""

class Solution:
    def construct(self, grid: List[List[int]]) -> 'Node':

        def dfs(grid, i,j,range):
            if canCompress(grid, i,j, range):
                value = None
                if grid[i][j] == 1:
                    value = 1
                else:
                    value = 0

                return Node(value, True)

            limit = range//2
            result = Node(1, False)
            result.topLeft = dfs(grid,i,j,limit)
            result.topRight = dfs(grid,i,j+limit, limit)
            result.bottomLeft = dfs(grid, i+limit, j, limit)
            result.bottomRight = dfs(grid,i+limit, j+limit, limit)
            return result

        def canCompress(grid, i,j,w):
            for x in range(i, i+w):
                for y in range(j, j+w):
                    if grid[x][y] != grid[i][j]:
                        return False
            return True

방안 5

상세 설계

LOG-INFO commented 5 months ago

끄적끄적

캐시 전략 변경 제안

설계 변경 제안

AS-IS design

image

TO-BE design

image

추가 변경 제안

TODO: 필터링 기능도 보완할 것 없나 생각해보자

MinJunKweon commented 5 months ago

끄적끄적

HaeUlNam commented 5 months ago

Untitled

GEOADD places 127.064053 37.508645 "Park Hyatt Seoul"
GEOADD places 127.060896 37.508899 "Grand InterContinental Seoul Parnas"
GEOADD places 127.926644 37.525339 "Conrad Seoul"
GEOADD places 126.929140 37.525198 "Fairmont Ambassador Seoul"

GEOADD places XX 126.926667 37.525250 "Conrad Seoul"
GEOSEARCH places FROMLONLAT 126.9243 37.5217 BYRADIUS 1 km

GEOSEARCH - 여의도역 기준으로 호텔 검색 결과

스크린샷 2024-06-09 오후 5 20 13

Reference