일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 구현
- 스프링부트
- 이직
- HTTP
- 해시맵
- Java
- 스프링
- spring
- spring boot
- 스타트업
- 개발자
- Linux
- 자료구조
- 주니어
- docker
- 명령어
- 해결
- HashMap
- bfs
- 도커
- 백엔드
- 인텔리제이
- 구름LEVEL
- IntelliJ
- 문자열
- 스프링 부트
- dfs
- 배열
- 프로그래머스
- 코딩테스트
- Today
- Total
마이의 개발 블로그
[교육] 원티드 프리온보딩 7월 백엔드 챌린지 사전과제 본문
(1) 동시에 같은 DB Table row 를 업데이트 하는 상황을 방어하기 위해 어떻게 개발하실 건지 설명해주세요.
- 트랜잭션을 이용하여 하나의 단위 동작이 끝나기 전까지 해당 row의 동시 업데이트를 방지합니다.
(2) TCP 와 UDP 의 차이를 작성해주세요.
- TCP는 연결 지향, UDP는 비연결 지향
- TCP는 흐름제어 및 혼잡제어기능을 내장하고 있으나 UDP는 그렇지 않음
- TCP는 데이터 전송에 있어 신뢰성을 보장하는데 반해 UDP는 패킷 손실이 발생할 수 있음
- TCP는 신뢰성을 위한 오버헤드 및 제반 과정으로 인해 속도에 있어 불리, UDP는 속도측면에서 유리
(3) 웹 브라우저에 네이버 를 검색하고 화면에 네이버 화면이 출력이 될 때 까지 내부적으로 어떤 동작들이 수행이 되는지 설명해주세요.
- 사용자가 '네이버'를 검색
- 웹 브라우저에서 '네이버'에 해당하는 IP주소를 DNS에 요청 후, DNS에서 IP 주소를 찾아 응답
- IP주소를 바탕으로 TCP연결 수립 후 (TCP/IP 프로토콜)
- 브라우저에서 네이버 서버로 HTTP 요청 전송 (HTTP or HTTPS 프로토콜)
- 네이버 서버에서 HTML 문서로 응답 구성 후 웹브라우저로 전송
- 브라우저에서 응답내용 해석 후 렌더링하여 화면에 표시 (HTML, CSS, JavaScript)
(4) 본인이 주력으로 사용하는 언어에서 설계적 결함 한 가지를 작성해주세요.
- JAVA: unsigned 미지원으로 큰 수를 처리해야하는 프로그램 작성 시 불리할 수 있음
(5) 본인이 주력으로 사용하는 언어에서 자료구조와 관련 된 클래스가 내부적으로 어떻게 동작하는지 한 가지 사례를 정하여 작성해주세요.
JAVA - ArrayList
- 컬렉션 프레임워크의 컬렉션데이터 그룹 3가지(List, Set, Map) 중 List 인터페이스 구현 클래스의 하나
- ArrayList는 배열과 유사한 구조를 가지며 삽입, 삭제, 정렬 등의 메서드를 제공
ArrayList의 동작
- 삽입:
1) 인덱스 없을 시: 필요 시 배열 크기 조절 후 배열의 맨 끝에 요소 저장
2) 인덱스 지정 시: 삽입할 인덱스의 요소부터 마지막 요소까지 한 칸씩 뒤로 이동 후, 요소를 인덱스에 저장
- 삭제: 요소 삭제 후 뒤에 있던 요소들을 한 칸씩 앞으로 이동하여 빈 자리를 채움
- 탐색: 인덱스를 통해 요소에 접근 후 요소 반환
- 크기 조절: 요소의 추가 또는 삭제에 따라 내부 배열의 크기를 동적으로 조절
- 배열 재할당: 요소의 추가나 삭제로 인해 내부 배열의 크기가 변경될 때, 기존의 배열을 복사하여 더 크거나 작은 새로운 배열을 생성하고, 요소들을 새 배열에 복사함
'개발지식 > 기타' 카테고리의 다른 글
[Linux] 윈도우 터미널(Power Shell)에서 curl POST 요청 보내기 (0) | 2024.09.10 |
---|---|
전달인자(argument)와 매개변수(parameter)의 차이점 (0) | 2024.03.14 |
[SICP 스터디] Ch2. 데이터를 이용한 추상화 (0) | 2024.03.14 |
문자집합/인코딩 - 키워드 정리 (0) | 2022.01.18 |