etc/2023 하반기 인턴

중간 평가 회고

녱녱 2022. 11. 16.

회사에서 주로 JS를 사용해 프로젝트를 진행했기 때문에 JS 관련 교육을 많이 받았고

스프링 관련 교육도 조금 받았다! 

인턴 중간 평가 때 나온 문제들 정리해뒀던걸 포스팅 하려고 한다

📕 HTMLCollection과 NodeList의 차이점 

getElement -> HTMLCollection 반환 : 동적, DOM의 변경 요소가 실시간으로 변경됨

querySelectorAll -> NodeList 반환 : 정적, 실시간 변경 X

 

📕 call, bind, apply의 차이점

  • call : object 객체가 아닌 전역변수에 있는 변수를 obj의 함수로 이용하고 싶을 때 함수 내부의 this를 바꾸고 싶을 때 call 함수를 사용해 전역 객체 this를 인자로 넘겨주면 됨
  • apply : call과 비슷하지만 인자의 전달방식이 배열이다

-> call과 apply는 모두 this를 바인딩 할 때, 사용하며 전달되는 매개변수가 변수인지 배열인지의 차이가 있다. this를 바인딩만 하며 함수를 호출한다

  • bind : 함수를 호출하는 것이 아니라 새로운 함수를 만들어 리턴해줌. bind 함수 사용시 바로 함수가 호출되지 않는다

 

📕 HTTP Method

GET : 리소스 조회, 데이터 검색

POST : 요청 데이터를 처리(데이터 등록)

PUT : 리소스를 대체, 해당 리소스가 없으면 생성

PATCH : 리소스 일부만 변경

DELETE : 리소스 삭제

 

📕 SPRING 흐름

controller -> service -> service imple -> mapper -> DB

 

📕 JAVA Overloading과 Overriding의 차이

  • Overloading : 메소드의 이름은 같고 매개변수의 개수나 타입이 다른 함수를 정의하는 것/매개변수, 타입이 달라야 함
  • Overriding : 상위 클래스의 메소드를 하위 클래스가 재정의 하는 것(주로 상속 받아서 변경)/ 메소드의 이름, 파라미터 개수, 타입도 동일해야함

-> 오버로딩은 새로운 메소드를 정의하는것, 오버라이딩은 상속받은 메소드의 내용만 변경

 

📕 Filter, Interceptor, AOP의 차이

  • Filter : 요청과 응답을 거른 뒤 정제하는 역할
  • Interceptor : 요청에 대한 작업 전/후로 나뉜다
    • 스프링의 모든 bean 객체에 접근 가능
    • 로그인, 권한, 프로그램 실행시간 계산작업, 로그확인 등의 업무처리
  • AOP : 객체 지향 프로그래밍을 했을때 중복을 줄일 수 없는 부분에서 중복을 줄이기 위해 종단면에서 보고 처리
    • 로깅, 트랜잭션, 에러 처리 등 비즈니스 단의 메소드에서 조금 더 세밀하게 조정하고 싶을 때 사용
    • 메소드 전/후의 지점에 자유롭게 설정 가능
    • 주소, 파라미터, 어노테이션 등 다양한 방법으로 대상 지정이 가능

=> Filter -> Interceptor -> AOP -> Interceptor -> Filter

댓글