목록전체 글 (33)
dev-hamster
목차 지원 동기 자소서 코테 면접 합격 2개월간 수업 후기 지원 동기 약 1년간 스타트업에서 프론트엔드 개발자로 근무했는데 백엔드를 아예 몰라서 내가 할 수 있는 일이 제한적이었다. 그리고 취준 기간이 길어지면서 뜨거운 합격만 받아 매우 불안했다. SSAFY는 내게 딱 필요한 교육이었다. 1학기는 백엔드를 배우고 2학기는 프로젝트 중점 커리큘럼으로 배운 것들을 적용할 수 있다. 그리고 사람들과 같이 취준을 하면 동기부여가 엄청나게 될 것이었다. (그리고 지원금도 준다,, ㅎㅎ) 자소서 나는 개발자로서 노력한 경험과 ssafy가 필요한 이유를 썼다. 관심있는 분야의 스터디를 진행한 경험, 팀 프로젝트를 하면서 마주한 어려움, 그리고 ssafy를 통해 어려움을 극복하고 더 좋은 개발자가 되겠다고 작성했다. ..
링크드리스트란? 노드와 그 다음 노드로 이루어진 선형 자료구조 (노드: 데이터, 다음 노드의 메모리 주소) 구현 방법 class Node: def __init__(self, _data): self.data = data self.next = None head = Node(1) head.next = Node(2) head.next.next = Node(3) 링크드리스트 vs 배열 메모리 공간 배열: 연속된 메모리 공간을 찾아야함 링크드리스트: 다음 주소값만 저장하면 되므로 공간이 인접하지 않아도 됨 성능비교 배열: 탐색 속도가 빠름 링크드리스트: 데이터 추가, 삭제가 용이함 읽기: 배열: 인덱스로 접근하므로 O(1) 링크드 리스트: head에서부터 탐색하므로 O(n) 탐색: 배열: O(n) 링크드 리스트: ..
동기/비동기 작업을 순서대로 수행하는가? 블로킹/논블로킹 현재 작업이 block 되는가? 동기/비동기 작업의 순서가 보장되는가? 동기 process B가 완료된 후 다음 작업 수행 처리 결과를 확인 후 다음 task 수행 비동기 process B가 완료되지 않아도 다음 작업 수행 처리 결과를 확인 X 다음 task 수행 비동기의 성능 이점 이용: I/O 같은 느린 작업 기다리지 않고 다른 작업을 처리하여 멀티 작업 진행 대규모 트래픽에서도 안정적으로 동작할 수 있는 웹 어플리케이션 블로킹/논블로킹 함수를 제어할 권리가 있는가? 즉, 함수를 바로 반환하는가? 블로킹 호출된 함수가 작업을 모두 마친 후 반환 논블로킹 호출된 함수는 바로 반환 비동기와 논블로킹의 차이 비동기: 순서대로 작업이 수행하지 않음 논..
인터럽트 인터럽트는 CPU의 현재 작업을 중단하고 가로채는 것 입니다. 인터럽트의 종류 외부 인터럽트 정전, 기계 결함 입출력 장치 타이머 장치 전원 등 내부 인터럽트 Trap (SWC 인터럽트) 잘못된 명령이나 데이터를 사용 인터럽트 우선순위 정전 기계 오작동 입출력 예외 트랩 인터럽트 처리 전체 시스템의 성능에 심각한 영향을 주기 때문에 인터럽트를 일으킨 이벤트를 신속히 처리해야 합니다. 인터럽트 서비스 루틴(ISR)이 인터럽트를 처리합니다. 인터럽트 요청 신호 검출하기: CPU는 명령 사이클마다 한 번씩 인터럽트가 있는지 확인 인터럽트 우선순위 제어 & 인터럽트 허용: CPU는 인터럽트를 요청한 장치를 식별하고 인터럽트 마스크 레지스터를 사용해 허용 여부를 결정. 다수의 인터럽트 요청이 있을 경우 ..
[1차] 캐시 접근 가장 최근에 사용한 데이터를 왼쪽에 배치합니다. 예를 들어 캐시메모리에 [a,b,c,d]가 있고 d를 읽었다면, d를 가장 왼쪽에 배치하여 [d,a,b,c]가 됩니다. 반대로 데이터 f를 읽었다면, f를 가장 왼쪽에 배치하여 [f,a,b,c]가 됩니다. 앞과 뒤 요소를 접근할 수 있는 deque을 사용합니다. 실수 캐시 miss를 처리시 cacheSize가 0일 때를 고려해야 합니다. 캐시메모리에 데이터를 저장할 수 있는 경우는 cacheSize가 1 이상일 때 입니다. # 틀린 코드 if not city in cache: # 0, ["Jeju", "Pangyo", "Seoul", "NewYork", "LA"] # 일 때 cache.pop() is empty 에러메세지 때문에 지성없이..