티스토리 뷰
오늘의 면접질문을 정리해 보았다.
#프론트엔드
1. 프레임워크와 라이브러리 차이점에 대해 설명해주세요.
Framework = 일을 하는 틀 -> 내가 하는 일을 쉽게 해주기위해 만들어준 장치 및 가이드라인
Library = 도서관 -> 내가 원하는 정보, 기능을 가져와서 사용할 수 있는 기능
2. 캐시의 장단점과 어떤 부분에 활용하는지 설명해주세요. 프론트엔드에서 캐시를 사용할 수 있는 2~3가지 영역을 제시해주세요
캐시를 사용하는 이유
공간적 지역성, 시간적 지역성을 바탕으로 미래에 접근할 데이터를 작지만 빠른 캐시메모리에 저장하여 시스템 성능을 높힌다.
캐시 매모리 저장 규칙
최근의 접근한 데이터 Temporal Locality / 접근한 데이터의 주변 데이터 Spatial Locality
프론트엔드 캐시 영역
HTTP 캐싱: HTTP 캐싱을 사용하여 서버의 응답을 캐싱하여 데이터 검색에 필요한 요청 수를 줄이고 성능을 향상시킬 수 있습니다.
브라우저 캐싱: 브라우저 캐싱을 사용하여 이미지, CSS 및 JavaScript 파일과 같은 정적 자산을 캐싱하여 다운로드해야 하는 데이터 양을 줄이고 성능을 향상시킬 수 있습니다.
로컬 스토리지: 로컬 스토리지는 클라이언트 측에서 데이터를 캐시하는 데 사용할 수 있으므로 서버에서 데이터를 검색할 필요성이 줄어들고 성능이 향상됩니다.
#백엔드
1. MSA(Microservice Architecture)란?
마이크로서비스 아키텍처
기능별로 서비스 프로그램을 만들고 이를 느슨하게 연결하는 방법의 설계방식
하나의 프로그램에 모든 기능을 구현하면 버전 업데이트 및 유지 관리에 어려움이 생긴다.
이를 해결하기 위해 서비스별로 프로그램을 나누어 개발하고 이를 연결하여 데이터를 주고받을 수 있다.
장점으로는 자주 사용하는 서비스만 집중적으로 사이즈를 키워 효율성을 증가할 수 있다, 기능수정과 업데이트가 빠르다.
단점으로는 관리에 시간이 많이 사용되고 설계 복잡도가 증가한다. 서버간의 통신 장애가 생길 수 있다.
반대로 모놀리스 아키텍처가 존재한다.
이는 마이크로서비스와 다르게 하나의 프로그램에 모든 서비스를 다 넣는것이다.
장점으로는 개발이 쉽고 모든 코드가 존재하기에 디버깅이 쉽다.
단점으로는 확장성, 느린 개발속도 등이 있습니다.
2. 제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.
제네릭은 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다.
객체타입의 안정성을 높이고 형변환의 번거로움이 줄어든다.
'개발 > Today I Learned' 카테고리의 다른 글
| TIL 23-03-31 (0) | 2023.03.31 |
|---|---|
| TIL 23-03-30 (0) | 2023.03.30 |
| TIL 23-03-28 (0) | 2023.03.28 |
| TIL 23-03-23 #HTTP 기본개념 (0) | 2023.03.23 |
| TIL 23-03-07 #AWS (0) | 2023.03.07 |