질문_lsucret - GANGNAM-JAVA/JAVA-STUDY GitHub Wiki

자바

  • java가 가지고있는 특징 설명(Object-Oriented,Platform independent,High Performance,Multithreaded,Portable,Secure)
  • JVM 메모리 구조 설명, JDK와 JRE의 차이는?
  • 메서드 영역과 힙 영역의 차이점은 무엇인가요? (main 메서드)
  • 인터페이스가 무엇인가요? 인터페이스 사용 이유. 인터페이스 언제 사용?
  • 추상 클래스와 인터페이스의 차이점
  • non-static 변수를 static 컨텍스트에서 접근할 수 있는가?
  • static 키워드가 무엇이고 사용하는 이유가 무엇인가요? static 키워드를 변수와 메서드 말고 클래스에도 붙일 수 있다고 했는데요 클래스에 붙일 수 있나요? (중첩 클래스)
  • Java에는 unchecked Exception과 checked Exception이 있는데 두 가지를 설명해주시고 차이점을 설명해주세요. 직접 정의해서 개발해본 경험이 있는지?
  • Java8 사용해본 적이 있는지? Java8에서 추가된 기능은?
  • 왜 자바는 플랫폼 독립적이라고 불리는가?
  • private, static 예약어를 오버라이드할 수 있나? 왜 그런가?
  • 오토박싱과 언박싱의 차이는?
  • 오버라이딩과 오버로딩의 차이?
  • pass by reference vs pass by value
  • Volatile,Transient 변수의 사용목적?
  • 정적 바인딩과 동적 바인딩의 차이?
  • 래퍼 클래스란 무엇인가
  • 싱글턴 클래스란 무엇이고 어떻게 만들 수 있는가
  • 프로세스와 스레드의 차이
  • 스레드를 생성하는 세 가지 방법을 말하고 장단점?
  • 스레드의 상태 설명하라
  • 스레드에서 wait, sleep 메서드의 차이?
  • 데드락이란 무엇이고 데드락 없이 n개의 스레드가 n개의 리소스에 접근할 수 있는 방법은 무엇인가?
  • java에서 HashMap이 동작하는 원리?
  • hashcode()와 equals()가 중요한 이유?
  • Array와 ArrayList, LinkedList 차이? 어떤상황에서 뭘 쓸것인가?
  • Comparable 과 Comparator 차이?
  • Enumeration과 Iterator interfaces의 차이?
  • System.gc() 와 Runtime.gc()가 하는 일은?
  • RMI란 무엇이고, RMI 아키텍처의 기본 원리는?
  • HTTP response의 구조는?
  • 쿠키란 무엇이고, 세션과의 차이점?
  • 리플렉션이란 무엇이고, 예시를 들어 설명하라.
  • String s = "test";와 String s = new String("test");의 차이점? 어떤게 더 좋은가?

스프링/JPA

  • 스프링과 스프링 부트의 차이점은 무엇인가요?

  • MVC 동작 방식에 대해서 클라이언트의 요청부터 응답까지 순차적으로 이야기 해주세요

  • servlet과 dispatcherServlet의 차이?

  • 스프링부트 데코레이터 중 intercepter, filter, ?? 세 가지의 차이점

  • DI가 무엇인가

  • Thread-Safe가 무엇인가, Thread-Safe하기 위해서는 어떻게 해야하는가?(동기화 기술)

    얘기한 동기화 기술(synchronized, atomicXXX, lock, semaphore) 중에 성능 향상에 가장 도움이 되는 기술은 무엇인가?

DATABASE/SQL

  • 기본인덱스와 보조 인덱스의 차이
  • nosql과 sql 차이, CAP이론 설명
  • 데이터베이스 성능 튜닝 해봤는지, 데이터베이스의 Query가 느리게 처리될 때 어떻게 해결할 것인가? (Slow Query)
    • Slow Query를 어떻게 해결해야하나요?
    • Slow Query로 로그를 출력하고 개선하기 위해 필요한 데이터는 어떻게 얻을것인가?
    • Query 튜닝 어떻게 하냐?
  • 데이터 모델링이란
  • 성능을 위해서 테이블에 컬럼을 추가해서 사용하는가? 어떻게 사용하는가?
  • 인덱스의 종류와 특징(Clustered Index/Nonclustered Index)
  • sql 쿼리문으로 두번째로 높은 연봉을 받는 노동자를 찾으라

Infra/운영

  • RESTFul API 란?
  • TDD 란 무엇이며 어떠한 장점이 있는가?
  • 함수형 프로그래밍이란?
  • GET, POST 방식의 차이점
  • CI/CD란 무엇인가, 도입해서 얻는 장점은?
  • 협업할 때 중요한 것이 무엇인가?

Architecture/Design pattern

  • MVC 패턴이란 무엇인가?
  • Array vs Linked List
  • Stack and Queue
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST (Binary Search Tree)

computer science

  • TCP 와 UDP 의 차이점
  • HTTP1.1과 HTTP2의 차이점
  • DNS round robin 방식
  • 멀티스레드의 장점과 단점
  • 가상 메모리의 출현배경과 하는일, Demand Paging, 페이지 교체 알고리즘에 대해 설명하시오.
  • (컴퓨터 동기화)임계구역 문제란 무엇이고 이를 해결하기 위한 3가지 조건