분류 전체보기 (55) 썸네일형 리스트형 백준 10808번 | 알파벳 개수 문제 풀이 (Java) 제출 코드import java.io.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String str = br.readLine(); int[] idx = new int[26]; for (int i = 0; i 문제 의도- 배열 사용 여부- 아스키 코드 사용 여부 문제 출처 8장 URL 단축기 설계 URL 단축기 설계 1단계 문제 이해 및 설계 범위 확정 질문 : URL 단축기가 어떻게 동작해야 하는지 예제를 보여주실 수 있나요? 답변 : https://www.systeminterview.com/q=chatsystem&c=loggedin&v=v3&l=long이 입력이 주어질 경우 이 서비스는 https://tinyurl.com/y7ke-ocwj와 같은 단축 URL을 결과로 제공해야하며, 단축 URL로 접속하여도 원래 URL로 갈 수 있어야 합니다. 질문 : 트래픽 규모는 어느 정도 인가요? 답변 : 매일 1억(100million) 개의 단축 URL을 만들어 낼 수 있어야 합니다. 질문 : 단축 URL의 길이는 어느 정도여야 하나요? 답변 : 짧을수록 좋습니다. 질문 : 단축 URL에 포함될 문자에 .. 7장 분산 시스템을 위한 유일ID 생성기 설계 분산 시스템을 위한 유일ID 생성기 설계 유일 ID를 RDB의 auto_increment 속성을 사용 하면 된다고 생각할 수 있지만 데이터베이스 서버 한대로는 그 요구를 감당할 수 없으며, 여러 데이터베이스 서버를 쓰는 경우 지연시간(delay)를 낮추기가 무척 힘들다. 1단계 문제 이해 및 설계 범위 확정 질문 : ID는 어떤 특성이 있나요? 답변 : ID는 유일해야 하고, 정렬 가능해야 합니다. 질문 : 새로운 레코드에 붙일 ID는 항상 1만큼 큰 값이어야 하나요? 답변 : ID의 값은 시간이 흐름에 따라 커질 테지만 언제나 1씩 증가한다고 할수는 없습니다. 다만 확실한 것은, 아침에 만든 ID보다는 저녁에 만든 ID가 큰 값을 갖는다는 점입니다. 질문 : ID는 숫자로만 구성이 되나요? 답변 : 그.. 6장 키-값 저장소 설계 키-값 저장소 설계 키-값 저장소 키-값 저장소(key-value store)는 비 관계형(non-relational) 데이터베이스 저장되는 값은 고유 식별자(identifier)를 키로 가져야한다. 키와 값 연결관계를 "키-값" 쌍(pair)이라고 부른다. 키 키-값 쌍에서는 키는 유일해야 한다. 키를 통해서만 값에 접근할 수 있다. 키는 성능상의 이유로 키는 짧을 수록 좋다. 왜 키가 짧으면 좋지?(chat gpt 출처) 검색 속도 : 키를 기반으로 데이터를 검색하기 때문에 데이터 접근 방법에서는 더 효율적인 검색이 가능하다 메모리 사용 : 짧은 키는 크기도 작기 때문에 메모리 차지하는 비율도 적다. 코드 가독성 : 짧은 키는 이해하기 쉽고 유지보수가 편리해진다. 충돌 감소 : 충돌이 발생하면 검색 .. 5장 안정 해시 설계 안정 해시 설계 수평적 규모 확장하려면 요청 이나 데이터를 서버에 균등하게 나누는 것이 중요합니다. 안정 해시를 보편적으로 사용 하는 기술입니다. 해시 키 재배치(rehash) 문제 N개의 캐시 서버가 있다고 가정 부하를 균등하게 나누기 위해 serverIndex = hash(key) % N(N은 서버 개수) 키 해시 해시 % 4(서버인덱스) key0 18358617 1 key1 26143584 0 key2 18131146 2 key3 35863496 0 key4 34085809 1 key5 27581703 3 key6 38164978 2 key7 22530351 3 만약 hash(key0) % 4 = 1이면, 클라이언트는 캐시에 보관된 데이터를 가져오기 위해 서버 1에 접속해야 한다. 키 분포도 서버 .. 4장 처리율 제한 장치의 설계 처리율 제한 장치의 설계 네트워크 시스템에서 처리율 제한 장치(rate limiter)는 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치 ex) HTTP는 특정 기간 내에 전송되는 클라이언트의 요청 회수를 제한, API 요청 횟수가 제한 장치에 정의된 임계치(threshold)를 넘어서면 추가로 도달한 모든 호출은 처리가 중단(block) 몇가지 사례 사용자는 초당 2회 이상 새글을 올릴 수 없다. 같은 IP 주소로는 하루에 10개 이상의 계정을 생성할 수 없다. 같은 디바이스로는 주당 5회 이상 리워드(reward)를 요청할 수 없다. API에 처리율 제한 장치를 두면 장점 DoS(Denial of Service) 공격에 의한 자원 고갈(resource starvation)을 방지.. 섹션 9. 빈 스코프 빈 스코프란? 기본적으로 스프링 빈은 싱글톤 스코프로 생성이 됩니다. 스코프란 빈이 존재할 수 있는 범위를 뜻합니다. 스프링의 다양한 스코프 지원 싱글톤 : 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 웹 관련 스코프 request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프 session : 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프 applicaion : 웹의 서블릿 컨텍스와 같은 범위로 유지되는 스코프 컴포넌트 스캔 자동 등록 @Scope("prototype") @Component public class HelloBea.. 3장 시스템 설계 면접 공략법 시스템 설계 면접 시스템 설계 면접은 두 명의 동료가 모호한 문제를 풀기위해 협력하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션 이 문제에는 정답이 없으며 설계 기술을 시연하는 자리이고 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이며 면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 자리입니다. 효과적 면접을 위한 4단계 접근법 1단계) 문제 이해 및 설계 범위 확정 생각 없이 바로 답을 내는 행동은 부정적 신호(red flag)입니다. 속도를 늦추고 깊이 생각하고 질문하여 요구사항과 가정들을 분명 해야합니다. 질문에 대한 답변들을 화이트보드나 종이에 메모해놓기 요구사항을 이해하고 모호함을 없애는게 가장 중요 요구사항을 정확히 이해하는데 필요한 질문 리스트 구체적으로 어떤 .. 이전 1 2 3 4 5 6 7 다음