Tech Interview

    [Tech Interview] Data Structure

    💡 HashMap vs LinkedHashMap 차이와 장단점 더보기 차이점: HashMap은 요소의 순서를 보장하지 않고, LinkedHashMap은 요소의 삽입 순서를 보장합니다. 장단점: HashMap의 장점은 빠른 검색 속도와 효율성입니다. 그러나 순서를 보장하지 않아 정렬된 결과를 얻기 어려울 수 있습니다. 반면 LinkedHashMap의 장점은 요소의 삽입 순서를 보장하여 순서가 중요한 작업에 유용합니다. 그러나 내부적으로 연결 리스트를 관리해야 하므로 삽입 작업이나 메모리 사용 면에서 약간의 오버헤드가 발생할 수 있습니다. 요악하자면, HashMap은 빠른 검색 속도와 효율성을 가지고 있으며, LinkedHashMap은 삽입 순서를 보장하며 순서가 중요한 상황에서 유용합니다. 💡 Array과..

    [Tech Interview] Database

    💡 DELETE, TRUNCATE, DROP의 차이를 설명해 주세요. 더보기 DELETE는 테이블에서 특정 레코드(행)들을 삭제합니다. 이때, 테이블의 구조나 스키마는 그대로 유지됩니다. 또한 트랜잭션을 사용할 경우 롤백을 통해 삭제 작업을 취소할 수 있습니다. TRUNCATE는 테이블의 모든 레코드를 한 번에 삭제합니다. DELETE보다 빠른 속도로 작동하며, 테이블의 스키마는 그대로 유지됩니다. 하지만 롤백이 불가능합니다. DROP은 테이블 자체(객체와 관련된 모든 것)를 완전히 삭제하고, 롤백이 불가능합니다. 💡 group by의 역할에 대해 설명해 주세요. 더보기 GROUP BY 절은 SQL에서 데이터를 특정 열 또는 열의 조합을 기준으로 그룹화하여 집계 함수를 사용해 각 그룹별로 요약된 정보를 ..

    [Tech Interview] Spring

    💡 Spring MVC 에 대해 설명해 주세요. 더보기 Spring MVC는 Spring Framework의 웹 애플리케이션 개발을 지원하는 모듈로, Model-View-Controller(MVC) 패턴을 구현한 웹 프레임워크입니다. MVC 패턴은 애플리케이션의 구조를 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 역할로 나누어 개발합니다. Model은 애플리케이션의 비즈니스 로직과 데이터를 나타냅니다. 쉽게 말하면, 무엇을 처리할 것인지를 명시해 놓은 영역입니다. Model은 웹 응용 프로그램의 도메인 객체를 관리하고 데이터베이스와 같은 영속성 계층과 상호 작용합니다. View는 사용자에게 보여지는 데이터를 표현하는 역할을 합니다. 즉, 사용자가 보게 될 요소를 어떻게 디자..

    [Tech Interview] Java

    💡 오버라이딩과 오버로딩 더보기 1. 오버라이딩(Overriding) : 오버라이딩은 서브 클래스(subclass)가 상위 클래스(superclass)로부터 상속받은 메소드를 자신만의 버전으로 다시 구현하는 과정입니다. 즉, 메소드의 이름은 동일하게 선언되며, 매개변수와 반환 타입도 동일한 형식을 가져야 합니다. 오버라이딩을 사용하면 하위 클래스에서 상위 클래스의 메소드를 변경하거나 수정할 수 있습니다. 이는 다형성(polymorphism) 구현에 중요한 역할을 하며, 서브 클래스 객체를 바탕으로 상위 클래스의 참조 변수를 사용하여 호출 시, 실행되는 메소드가 오버라이딩된 메소드임을 보장합니다. 2. 오버로딩(Overloading) : 오버로딩은 같은 이름의 메소드를 한 클래스 내에서 여러 개 선언하는 ..