자바의 원시타입들은 무엇이 있으며 각각 몇 바이트를 차지하나요?
원시타입은 실제 데이터 값을 저장하는 타입이고 boolean 1byte, char 2byte, byte 1byte, short 2byte, int 4byte, long 8byte, float 4byte, double 8byte가 있습니다.
List와 Set의 차이에 대해서 설명해주세요.
List는 순서가 있는 Collection입니다. List에 데이터를 넣는 순서가 보장되며, 그렇기 때문에 index로 특정 아이템을 가져올 수 있습니다.
Set는 순서를 보장하지 않는 Collection입니다. 그렇기 때문에 index로 특정 아이템을 가져올 수 없습니다.
inner join과 outer join의 차이점에 대해 설명해주세요.
inner join은 조인이 되는 키값을 기준으로 교집합이며 null값을 포함하지 않습니다. outer join은 조인이 되는 키값을 기준으로 기준테이블 키집합이며 기준테이블은 null값을 포함합니다.
Call by Reference와 Call by Value의 차이가 무엇인가요?
Call by value(값에 의한 호출)는 함수호출시 인자로 받은 값을 복사하여 처리를 합니다. 자바에서 기본 자료형이 call by value로 동작합니다.
Call by reference(참조에 의한 호출)는 함수가 호출 시 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 줍니다. 자바에서 참조 자료형(String, Array, Map, Set과 같은 클래스와 인터페이스 등)이 call by reference로 동작합니다.
스프링 프레임워크와 스프링 부트의 차이는?
둘 다 자바 웹 개발 프레임워크이지만 둘의 차이는 이렇습니다
스프링에서는 개발자가 직접 설정 파일을 작성하여 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고, 빈 객체 간 의존성을 설정해야합니다. 반면 스프링부트는 개발자가 설정 파일을 작성할 필요 없이, 프로젝트 설정과 라이브러리 의존성을 자동으로 처리해주는 기능을 제공하며 또한, 실행 가능한 JAR 파일을 만들 수 있습니다.
객체지향적인 개발이 어떤건지 설명해보세요
객체지향적 개발은 소프트웨어를 설계하고 개발하는 방법론 중 하나로, 현실 세계의 객체들을 소프트웨어의 구성 요소로 모델링하여 문제를 해결하는 방법입니다. 체지향적 개발은 대규모 소프트웨어의 설계와 개발에 적합하며, 코드의 재사용성, 유지보수성, 확장성 등을 향상시킬 수 있는 장점이 있습니다.
MVC 구조와 MVC 동작순서에 대해 설명해주세요
MVC는 Model-View-Controller의 약자로, 소프트웨어를 구성하는 세 가지 주요 요소입니다. 이 구조는 소프트웨어의 구조화와 유지보수를 용이하게 하는 디자인 패턴입니다.
클라이언트의 요청이 들어오면 헤당요청이 컨트롤러로 전달됩니다. 컨트롤러는 요청을 받아들이고 그에 따른 작업을 수행합니다. 필요한 경우 모델을 업데이트하거나 모델로부터 데이터를 검색합니다. 모델의 상태가 변경되었을 때 이를 반영하여 뷰를 보여줍니다.최종적으로 업데이트된 뷰를 사용자에게 보여주고 사용자의 상호작용을 기다립니다.
프로젝트에서 어떤 역할을 맡았고 맡은 부분에 대하여 간단하게 설명해주세요.
저는 반려인 커뮤니티 및 쇼핑몰 사이트인 woofly에서 소셜 및 게시판 부분을 담당하였습니다. 마이펫 다이어리 게시판을 통해 반려견의 컨디션을 관리하는 게시판과 인스타그램을 레퍼런스한 SNS인 마이펫 사진첩을 담당하였습니다. 모든 게시판은 CRUD가 가능하며 마이펫 사진첩은 댓글, 신고, 좋아요 등 비동기로 작업을 수행할 수 있습니다.
자바스크립트란?
JavaScript는 웹사이트와 애플리케이션을 동적이고 상호작용적으로 만드는 데 사용되는 컴퓨터 프로그래밍 언어이며 브라우저에서 직접 실행할 수 있다는 점이 특징입니다. 라이브러리 jQuery와 React가 있고 프레임워크에는 Vue.js, Node.js, Angular가 있습니다.