반응형

Small talk 16

[Java] 신입 개발자의 면접 준비

String, StringBuilder, StringBuffer의 차이를 설명해보세요. - String 객체는 immutable 합니다. 즉, 한번 생성이 되면 변경이 불가능합니다. 반면에, StringBuilder와 StringBuffer의 차이점은 멀티쓰레드 상태에서 동기화의 지원 여부가 다릅니다. StringBuffer는 멀티쓰레드 환경에서 동기화를 보장하지만, StringBuilder는 동기화를 보장하지 않습니다. 추가적으로 설명하자면, String과 StringBuilder는 원래 문자열을 합치는 과정에서 성능차이가 있었지만, JDK 1.5버전 이후부터는 String을 "+"연산할 경우, 동적으로 StringBuilder로 컴파일하여 실행되므로 성능차이가 사라졌습니다. 객체지향 프로그래밍(OOP..

신입 개발자 직무면접 정리 - 알고리즘편

정렬 정렬이란 오름차순 또는 내림차순처럼 기준을 잡고 데이터를 재배열하는 것을 말합니다. 염두해야할 사항은 정렬할 데이터의 양, 메모리 상태, row data의 정렬된 정도. 선택 정렬 첫 번째 원소에서 시작해 배열 전체를 훑으면서 가장 작은 키를 가지는 원소를 찾아 첫 번째 원소와 맞바꾼다. 시간 복잡도: O(N^2) 삽입 정렬 한 번에 한 원소씩 이미 정렬된 다른 원소들과 비교하여 새 원소를 제 위치에 삽입하는 방식. 이미 정렬된 리스트의 경우 시간 복잡도는 O(N), 평균적으로 O(N^2) 안정적인 정렬방법으로 소량의 데이터의 경우 최적. 퀵 정렬 데이터 집합 내에서 pivot값을 고릅니다. 이를 기준으로 두 개의 집합으로 나눠서 한 쪽 집합에는 피벗 값보다 작은 것만, 다른 집합은 큰 것만 넣습니..

신입 개발자 직무면접 준비 - DB편

RDMBS란? 관계형 DB를 생성, 수정하고 관리하는 System, 여기서 관계형 DB란 모든 데이터를 2차원의 테이블 형태로 표현할 수 있는 DB를 의미합니다. DB 트랜잭션 DB의 상태를 변화시키는데 있어서 작업의 단위, 한꺼번에 모두 수행되어야하는 일련의 과정들을 의미. (ex. 결제시스템) 원자성, 일관성, 독립성, 지속성이라는 특징과 DB에 저장될 값들과 실제 존재하는 사물과의 정확도를 의미하는 무결성의 특징이 있다. 인덱스란? 데이터 레코드를 빠르게 접근하기 위해 로 구성되는 데이터 구조. 파일의 레코드에 빠르게 액세스할 수 있습니다. 기본키를 위한 인덱스를 기본 인덱스라 하며 이외에도 비트맵, 함수 기반, 트리기반 인덱스 등이 있습니다. SQL의 분류 DDL 스키마, 도메인, 테이블 등을 정..

신입 개발자 직무면접 준비 - 웹과 통신

HTTP란? Hyper Text Transfer Protocol의 약자로 서로 다른 시스템들 사이에서 통신을 주고받게 하는 프로토콜. HTTP 요청의 흐름(웹 브라우저) 브라우저 (Http 요청 메세지) OS (DNS서버를 조회해 IP주소로 변환) 프로토콜 스택 (메세지를 패킷에 저장) LAN어댑터 (메세지를 전기신호로 변환) 라우터 (이 패킷을 엑세스 회선에 전달) 엑세스 회선 (패킷이 통신사용 라우터에 전달) 방화벽 (패킷을 검사) 웹 서버 (요청에 대한 비즈니스 로직을 수행해서 응답 데이터를 회송) HTTP 통신 과정 (클라이언트 - 서버 프로토콜) Client가 HTTP 요청을 서버에 보내면, 서버는 요청을 처리하기위해 비즈니스 로직을 수행합니다. 수행한 결과에 따른 HTTP 응답을 다시 Clie..

신입 개발자 직무면접 정리 - 운영체제편

운영체제 운영체제는 시스템의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 주요 자원으로 프로세스, 기억장치, 주변장치, 파일 관리를 수행합니다. 프로세스와 스레드 프로세스 실행 중인 프로그램. 디스크에서 메모리로 적재되어 CPU자원을 할당받을 수 있는 것을 말한다. 프로세스에 할당되는 메모리 안에는 스택, 힙, 데이터, 코드 영역을 포함한다. simple) 사용자가 어떤 프로그램을 실행시키면 메모리에 올라오게 되고 CPU가 이를 처리하게 된다. 이때 프로그램이 메모리에 올라와있는 상태를 프로세스라고 한다. PCB Process Control Block의 약자로 프로세스 제어 블록. 프로세스에 대한 중요한 정보를 저장하고 있다. 운영체제가 프..

신입 개발자 직무면접 정리 - Java편

1. 프레임워크란? SW개발의 뼈대, 기준이 되는 부분을 미리 구현한 것 하나의 프레임워크에는 여러 라이브러리와 여러 프레임워크가 포함되어 있다. 개발 플랫폼의 역할을 수행. 장점 개발 속도가 빠름, 생산성 증가. 품질 보장 단점 프레임워크에 대한 이해 필요 프레임워크 내부를 커스터마이징하기 힘들다. 느리고 무겁다. 비용이 많이 든다. 2. 라이브러리 독립성을 가진 최소단위의 기능이다. (함수 단위) 재사용가능한 최소 단위 기능 또는 기능들의 집함, 기능을 사용하기위해 다른 기능이 필요하지 않아야 한다. 표준 라이브러리(언어가 제공해주는 기본 함수), 사용자 라이브러리(직접 만든 라이브러리)가 있다. 3. 자바란 무엇인가? 객체지향 프로그래밍 언어로 가장 큰 특징은 운영체제없이 독립적이라는 점. 즉, O..

반응형