분류 전체보기
-
채용 사이트를 통해서 서류를 제출하고 코딩 테스트를 거쳐 와디즈의 기술 면접을 볼 수 있는 기회가 주어졌습니다. 이직 준비를 하고 첫 면접이라 무척이나 떨렸습니다. 기술 면접 준비로는 자바 백엔드 직군에 해당 하는 예상 질문들을 열심히 공부했었다. 제가 면접을 보는 시점에는 줌을 통한 화상면접으로 진행되었습니다. 면접 전에 인사팀에서 화상 상태가 정상인지 확인하기 위해서 10분 정도 먼저 화상 연결을 합니다. 매우 친절하게 잘 설명해 주십니다. 실제 면접은 30분에서 1시간 사이로 진행된다고 안내를 받았습니다. 면접에서 언급되었던 질문들을 떠올려보면 자기소개해주세요 (자기소개에서 지원자가 언급한 프로젝트에 대한 질문) 이전에 진행했던 경험에 많은 질문이 이어짐 자바 백엔드 직군에 관련된 질문 rest a..
[Career] 와디즈 백엔드 기술 면접 후기채용 사이트를 통해서 서류를 제출하고 코딩 테스트를 거쳐 와디즈의 기술 면접을 볼 수 있는 기회가 주어졌습니다. 이직 준비를 하고 첫 면접이라 무척이나 떨렸습니다. 기술 면접 준비로는 자바 백엔드 직군에 해당 하는 예상 질문들을 열심히 공부했었다. 제가 면접을 보는 시점에는 줌을 통한 화상면접으로 진행되었습니다. 면접 전에 인사팀에서 화상 상태가 정상인지 확인하기 위해서 10분 정도 먼저 화상 연결을 합니다. 매우 친절하게 잘 설명해 주십니다. 실제 면접은 30분에서 1시간 사이로 진행된다고 안내를 받았습니다. 면접에서 언급되었던 질문들을 떠올려보면 자기소개해주세요 (자기소개에서 지원자가 언급한 프로젝트에 대한 질문) 이전에 진행했던 경험에 많은 질문이 이어짐 자바 백엔드 직군에 관련된 질문 rest a..
2022.08.19 -
Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. @Controller : 전통적인 Spring MVC의 컨트롤러 @RestController : Restuful 웹서비스의 컨트롤러 주요한 차이점은 HTTP Response Body가 생성되는 방식입니다. @Controller @Controller는 주로 View를 반환하기 위해 사용 아래의 그림과 같은 Work Flow를 가진다. Client -> Dispatcher Servlet -> Handler Mapper -> Controller -> View Resolver -> View -> Client Client : URI 형식으로 웹 서비스 요청 DispatcherServlet이 요청..
[Spring] @Controller @RestController 차이Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. @Controller : 전통적인 Spring MVC의 컨트롤러 @RestController : Restuful 웹서비스의 컨트롤러 주요한 차이점은 HTTP Response Body가 생성되는 방식입니다. @Controller @Controller는 주로 View를 반환하기 위해 사용 아래의 그림과 같은 Work Flow를 가진다. Client -> Dispatcher Servlet -> Handler Mapper -> Controller -> View Resolver -> View -> Client Client : URI 형식으로 웹 서비스 요청 DispatcherServlet이 요청..
2022.08.17 -
Spring에 대한 질문을 먼저 써 놓고, 개인적으로 생각하는 답변을 밑에 적어둘 테니 참고해서 자신만의 언어로 답변을 잘 만들고 매끄럽게 말하는 연습을 하면 좋을 거 같습니다. Spring이 무엇인지 설명해보세요, 그리고 특징을 말해주세요 Spring의 특징인 DI에 대해서 설명해 보세요 Spring의 특징인 IoC에 대해서 설명해 보세요 ORM이 무엇인지 설명해 주세요 JPA가 무엇인지 설명해 주세요 ORM, JPA, Hibernate의 장단점을 설명해 주세요 Spring 스프링은 자바의 오픈소스 애플리케이션 프레임워크 중 하나로 스프링의 기본 철학은 특정 기술에 종속되지 않고 객체를 관리할 수 있는 프레임워크를 제공하는 것입니다. 그래서 컨테이너로 자바 객체를 관리하면서 DI와 IoC를 통해서 결합..
백엔드 면접 질문(Spring, JPA)Spring에 대한 질문을 먼저 써 놓고, 개인적으로 생각하는 답변을 밑에 적어둘 테니 참고해서 자신만의 언어로 답변을 잘 만들고 매끄럽게 말하는 연습을 하면 좋을 거 같습니다. Spring이 무엇인지 설명해보세요, 그리고 특징을 말해주세요 Spring의 특징인 DI에 대해서 설명해 보세요 Spring의 특징인 IoC에 대해서 설명해 보세요 ORM이 무엇인지 설명해 주세요 JPA가 무엇인지 설명해 주세요 ORM, JPA, Hibernate의 장단점을 설명해 주세요 Spring 스프링은 자바의 오픈소스 애플리케이션 프레임워크 중 하나로 스프링의 기본 철학은 특정 기술에 종속되지 않고 객체를 관리할 수 있는 프레임워크를 제공하는 것입니다. 그래서 컨테이너로 자바 객체를 관리하면서 DI와 IoC를 통해서 결합..
2022.08.14 -
파티션(Partition)은 MySQL 서버 입장에서 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 여전히 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 솔루션이다. -> 크기가 큰 테이블을 물리적으로 여러 개로 분할 해주는 기능 하나의 DBMS 서버에서 테이블을 분산하는 것, 원격 서버 간의 분산을 지원하는 것이 아니다. MySQL 5.1부터 제공되는 기능이다. 파티션을 사용하는 이유 1. 테이블의 사이즈가 커져, 인덱스의 크기도 커지는 경우 - 쿼리가 느려짐 파티션을 이용하여 테이블 분할 할 경우, 인덱스도 각각 생성되어 인덱스 크기가 작아짐 메모리에서 빠르게 쿼리 작업을 진행할 수 있음 2. 주기적으로 삭제 등의 작업이 이루어지는 히스토리 성 데이터의 효율적인 관리 히스토리성..
[MySQL] Partition 파티션 이란파티션(Partition)은 MySQL 서버 입장에서 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 여전히 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 솔루션이다. -> 크기가 큰 테이블을 물리적으로 여러 개로 분할 해주는 기능 하나의 DBMS 서버에서 테이블을 분산하는 것, 원격 서버 간의 분산을 지원하는 것이 아니다. MySQL 5.1부터 제공되는 기능이다. 파티션을 사용하는 이유 1. 테이블의 사이즈가 커져, 인덱스의 크기도 커지는 경우 - 쿼리가 느려짐 파티션을 이용하여 테이블 분할 할 경우, 인덱스도 각각 생성되어 인덱스 크기가 작아짐 메모리에서 빠르게 쿼리 작업을 진행할 수 있음 2. 주기적으로 삭제 등의 작업이 이루어지는 히스토리 성 데이터의 효율적인 관리 히스토리성..
2022.08.11 -
JVM은 ClassLoader를 이용해 필요한 Class를 Loading 한다 ClassLoader는 Class가 참조되는 순간 동적으로 Load 및 Link가 이루어지는 Dynamic Loading을 담당하는 주체이다 즉 JVM내로 Class를 Load, Link를 통해 적절히 배치하는 일련의 작업을 수행하는 모듈이라고 정의 내릴 수 있다 ClassLoader에서 Class를 Load 하는 시점에 따라 Load-Time Dynamic Loading과 Run-Time Dynamic Loading으로 구분된다 우선, 두 단어 모두 포함하고 있는 동적 로딩(Dynamic Loading)이 무엇인지 정의해보자 동적인 클래스 로딩 (dynamic loading) 런타임 시 JVM이 동적으로 참조할 클래스 로딩...
[JAVA] 로드타임, 런타임 동적로딩 (Load-Time, Run-Time Dynamic Loading)JVM은 ClassLoader를 이용해 필요한 Class를 Loading 한다 ClassLoader는 Class가 참조되는 순간 동적으로 Load 및 Link가 이루어지는 Dynamic Loading을 담당하는 주체이다 즉 JVM내로 Class를 Load, Link를 통해 적절히 배치하는 일련의 작업을 수행하는 모듈이라고 정의 내릴 수 있다 ClassLoader에서 Class를 Load 하는 시점에 따라 Load-Time Dynamic Loading과 Run-Time Dynamic Loading으로 구분된다 우선, 두 단어 모두 포함하고 있는 동적 로딩(Dynamic Loading)이 무엇인지 정의해보자 동적인 클래스 로딩 (dynamic loading) 런타임 시 JVM이 동적으로 참조할 클래스 로딩...
2022.08.10 -
기존에 업무에서는 DB의 데이터 관리가 중요하지 않은 파트였는데, 현재는 대규모 트래픽과 데이터를 다루는 업무를 담당하게 되어서 DB의 데이터 관리가 중요하게 되었습니다. 그러다 보니 DB의 확장성에 대한 문제로 샤딩과 파티셔닝에 관련된 업무를 접하게 되었습니다. 이 참에 해당 내용에 대해서 정리하고 가면 좋을 거 같아 정리해 보겠습니다. 데이터 양이 많아지게 되면 하나의 DB 인스턴스로는 읽고 쓰기를 감당할 수 없습니다. 이 경우 여러 개의 DB 인스턴스가 필요합니다. 이때 확장성을 위해 샤딩, 파티셔닝을 필수적으로 고려하게 됩니다. 샤딩과 파티셔닝은 모두 큰 데이터셋을 여러 서브셋으로 나눈다는 공통점이 있습니다. 파티셔닝 ( Partitioning ) 하나의 인스턴스내에서 여러 테이블로 나누어 저장하..
[DB] 파티셔닝 샤딩 비교 ( Partitioning, Sharding )기존에 업무에서는 DB의 데이터 관리가 중요하지 않은 파트였는데, 현재는 대규모 트래픽과 데이터를 다루는 업무를 담당하게 되어서 DB의 데이터 관리가 중요하게 되었습니다. 그러다 보니 DB의 확장성에 대한 문제로 샤딩과 파티셔닝에 관련된 업무를 접하게 되었습니다. 이 참에 해당 내용에 대해서 정리하고 가면 좋을 거 같아 정리해 보겠습니다. 데이터 양이 많아지게 되면 하나의 DB 인스턴스로는 읽고 쓰기를 감당할 수 없습니다. 이 경우 여러 개의 DB 인스턴스가 필요합니다. 이때 확장성을 위해 샤딩, 파티셔닝을 필수적으로 고려하게 됩니다. 샤딩과 파티셔닝은 모두 큰 데이터셋을 여러 서브셋으로 나눈다는 공통점이 있습니다. 파티셔닝 ( Partitioning ) 하나의 인스턴스내에서 여러 테이블로 나누어 저장하..
2022.08.09 -
Binding이란 무엇이고, Static, Dynamic Binding의 의미, 차이는 무엇일까? Binding Binding에 관련해서는 여러 가지 정의가 있다 찾아본 내용 중에 가장 의미가 잘 와닿는 부분으로는 " Association of method call to the method body " - 메서드 호출과 메서드 본문의 연결 다른 정의로는 아래의 내용이다 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것. 프로그램 내에서 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제값으로 배정되는 것 그럼 이제 Binding의 정의가 무엇인지 대충 알았고 정적, 동적 Binding은 무엇인지 알아보자 Static Binding ..
[JAVA] 정적, 동적 바인딩 (Static, Dynamic Binding)Binding이란 무엇이고, Static, Dynamic Binding의 의미, 차이는 무엇일까? Binding Binding에 관련해서는 여러 가지 정의가 있다 찾아본 내용 중에 가장 의미가 잘 와닿는 부분으로는 " Association of method call to the method body " - 메서드 호출과 메서드 본문의 연결 다른 정의로는 아래의 내용이다 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것. 프로그램 내에서 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제값으로 배정되는 것 그럼 이제 Binding의 정의가 무엇인지 대충 알았고 정적, 동적 Binding은 무엇인지 알아보자 Static Binding ..
2022.08.06 -
개인적으로 이직을 하려면 어떠한 것들을 해야 하는지 생각했던 것을 정리해보도록 하겠습니다. 이력서 작성 ( 포트폴리오 ) github 계정 관리 코딩 테스트 연습 기술 블로그 면접 준비 물론 위의 내용들은 이직 준비를 위해서 하는 것 말고 평소에도 꾸준히 하면 매우 좋은 개발자 습관이 될 것입니다. 이력서 작성 우선 다른 개발자들이 어떻게 하는지 보고, 그 형식에 맞춰서 자신의 경력을 정리 레퍼런스 참고 자신의 work experience 정리 구글에 "백엔드 개발자 이력서"와 같이 검색해서 다양한 레퍼런스를 참고할 수 있습니다. https://techblog.woowahan.com/2531/ https://blog.outsider.ne.kr/1234 https://wonny.space/writing/w..
[Career] 백엔드 개발자 이직 준비개인적으로 이직을 하려면 어떠한 것들을 해야 하는지 생각했던 것을 정리해보도록 하겠습니다. 이력서 작성 ( 포트폴리오 ) github 계정 관리 코딩 테스트 연습 기술 블로그 면접 준비 물론 위의 내용들은 이직 준비를 위해서 하는 것 말고 평소에도 꾸준히 하면 매우 좋은 개발자 습관이 될 것입니다. 이력서 작성 우선 다른 개발자들이 어떻게 하는지 보고, 그 형식에 맞춰서 자신의 경력을 정리 레퍼런스 참고 자신의 work experience 정리 구글에 "백엔드 개발자 이력서"와 같이 검색해서 다양한 레퍼런스를 참고할 수 있습니다. https://techblog.woowahan.com/2531/ https://blog.outsider.ne.kr/1234 https://wonny.space/writing/w..
2022.08.05