2025/03 9

CS 면접 예상 질문 - 네트워크(2)

HTTP의 특징을 설명해주세요.더보기HTTP는 상태를 저장하지 않는(stateless) 프로토콜로, 요청과 응답으로 구성되며, TCP 기반으로 동작하는 비연결성 프로토콜입니다.HTTP와 HTTPS의 차이점은 무엇인가요?-> HTTPS는 SSL/TLS 암호화를 사용하여 보안을 강화한 HTTP입니다.HTTP는 왜 상태를 저장하지 않나요?-> HTTP는 단순한 요청-응답 모델을 따르며, 서버의 부담을 줄이기 위해 상태를 유지하지 않습니다.HTTP 요청 방식에는 어떤 것들이 있나요?-> GET, POST, PUT, DELETE, PATCH 등의 메서드가 있습니다.HTTP 1.1과 HTTP 2.0의 차이는 무엇인가요?-> HTTP 2.0은 멀티플렉싱을 지원하여 여러 요청을 동시에 처리할 수 있습니다.쿠키와 세션은..

study/CS 2025.03.25

CS 면접 예상 질문 - 네트워크(1)

www.google.com 도메인을 브라우저에 입력했을 때 일어나는 일을 순차적으로 설명해주세요.더보기브라우저는 DNS 요청을 통해 IP 주소를 받아오고, TCP 연결 후 HTTP 요청을 서버에 보내며, 서버가 응답을 반환합니다.DNS란 무엇인가요?-> DNS는 도메인 이름을 IP 주소로 변환하는 시스템입니다.브라우저가 IP 주소를 찾는 과정은 어떻게 되나요?-> DNS를 통해 도메인 이름을 IP 주소로 변환합니다.HTTP 요청에서 'GET'과 'POST'의 차이는 무엇인가요?-> GET은 데이터를 요청하고, POST는 데이터를 서버로 전송합니다.서버가 응답을 반환하는 과정은 무엇인가요?-> 서버는 클라이언트의 요청을 처리하고, HTTP 응답을 반환합니다.웹 페이지를 어떻게 렌더링하나요?-> HTML, ..

study/CS 2025.03.18

CS 면접 예상 질문 - Spring(3)

관점지향 프로그래밍(AOP, Aspect Oriented Programming)은 무엇이고, 언제 사용할 수 있을까요?더보기AOP는 공통된 기능(로깅, 트랜잭션, 보안 등)을 핵심 비즈니스 로직과 분리하는 프로그래밍 기법입니다.반복적으로 사용되는 공통 기능(횡단 관심사)을 분리하여 코드의 중복을 줄이고, 핵심 비즈니스 로직을 더 명확하게 유지할 때 사용할 수 있습니다.AOP의 주요 개념은 무엇인가요?→ Aspect, Advice, Pointcut, JoinPoint, Weaving 등이 있습니다.AOP의 주요 활용 사례는 무엇인가요?→ 로깅, 트랜잭션 관리, 보안, 성능 모니터링 등에 사용됩니다.AOP를 적용하는 방법은 무엇인가요?→ @Aspect와 @Around, @Before, @After 등의 어노..

study/CS 2025.03.12

[프로그래머스/Java] x만큼 간격이 있는 n개의 숫자

핵심 정리정수형 자료형을 크기별로 나열하면, byte int의 표현 범위 : -2,147,483,648  ~ 2,147,483,647자동 형변환 시 데이터 손실이 없어야 하므로, 큰 크기의 자료형 -> 작은 크기의 자료형 만 가능연산 전에 int인 x를 long으로 형변환 해줘야 한다.(명시적 형변환 필요) 문제 나의 풀이class Solution { public static int[] solution(int x, int n) { int[] result = new int[n]; for (int i = 0; i  틀린 이유문제의 제한조건에 따라 풀면 계산 결과가 자바의 int의 표현 범위를 넘어가는 경우가 발생한다.따라서, 풀이에 int 대신 long 타입을 사..

study/Algorithm 2025.03.12

CS 면접 예상 질문 - Spring(2)

Spring Batch에 대해 설명해주세요.더보기-> Spring Batch는 대량의 데이터를 효율적으로 처리하는 프레임워크로, Job과 Step을 기반으로 구성되며 트랜잭션 관리, 병렬 처리, 재시작 기능 등을 제공합니다.Spring Batch의 주요 구성 요소는 무엇인가요?→ Job, Step, JobLauncher, JobRepository, ItemReader, ItemProcessor, ItemWriter 등이 있습니다.Job과 Step의 차이점은 무엇인가요?→ Job은 배치 작업의 전체 흐름을 관리하고, Step은 개별적인 처리 단계를 담당합니다.Spring Batch에서 트랜잭션 관리는 어떻게 이루어지나요?→ 각 Step에서 Chunk 기반 처리 또는 Tasklet 기반으로 트랜잭션을 관리합..

study/CS 2025.03.11

CS 면접 예상 질문 - Spring(1)

Bean 객체와 Bean 생명주기에 대해 설명해주세요.더보기-> Bean 객체란 스프링 컨테이너에서 관리되는 객체로, @Component, @Service, @Repository, @Controller 등으로 등록됩니다.Bean 생명주기는 IOC (Inversion of Control) 컨테이너에 의해 관리되는 객체의 생성부터 소멸까지의 과정을 말합니다. Bean 생명주기객체 생성 (@Component 등으로 등록)의존성 주입 (@Autowired 등으로 주입)초기화 (@PostConstruct 사용 가능)사용소멸 전 작업 (@PreDestroy 사용 가능)Spring에서 Bean을 싱글톤으로 관리하는 이유는 무엇인가요?-> 객체 생성을 최소화해 메모리 사용을 줄이고, 성능을 최적화하기 위함입니다.Bea..

study/CS 2025.03.05

Java에서 return문 누락으로 발생하는 오류와 해결 방법

문제 발생 배경Java로 코딩 테스트 문제를 풀다 보니, missing return statement 오류가 발생했다.오류의 원인과 해결 방법에 대해 알아본다. 문제 설명프로그래머스의 "나머지가 1이 되는 수 찾기" 문제를 풀고 있었다.이 문제는 주어진 자연수 n에 대해 n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x의 값을 반환하는 문제이다.처음 코드 작성 시, 다음과 같이 return -1; 을 사용하지 않고 문제를 풀었다.class Solution { public int solution(int n) { for (int x = 2; x 이 코드에서 return -1;을 사용하지 않아서 missing return statement 오류가 발생했다. 문제 분석메서드의 반..

study/Java 2025.03.05

CS 면접 예상 질문 - Java(3)

Java의 직렬화와 역직렬화에 대해 설명해주세요.더보기-> 직렬화는 객체를 바이트 형태로 변환하여 저장하거나 네트워크로 전송할 수 있게 만드는 과정이고,역직렬화는 바이트 데이터를 다시 객체로 변환하는 과정입니다. 직렬화가 필요한 이유는 무엇인가요?-> 객체를 저장하거나 네트워크를 통해 전송하기 위해 필요합니다.Java에서 직렬화와 역직렬화를 어떻게 구현하나요?-> ObjectOutputStream과 ObjectInputStream을 사용하여 구현합니다.직렬화를 위해 어떤 인터페이스를 구현해야 하나요?-> Serializable 인터페이스를 구현해야 합니다.직렬화에서 transient 키워드는 어떤 역할을 하나요?-> transient 키워드를 붙인 필드는 직렬화에서 제외됩니다.역직렬화 시 예외가 발생할 ..

study/CS 2025.03.04