일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- OOP의 특징
- www.google.com 검색하면 일어나는 일
- 기사단원의 무기 제곱근
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 모듈로 연산
- Spring Security 5
- MySQL RIGHT()
- 빌드관리도구 차이
- MySQL LEFT()
- Python 1000000007
- 달리기 경주 파이썬
- commit message convention
- 알고리즘 1000000007 나누기
- 달리기 경주 파이썬 시간초과
- Spring Security 버전 문제
- DDL DML DCL 차이
- PCB
- @RequestMapping과 @GetMapping
- java 동기화
- 프로그래머스 142086
- build.gradle 설정 오류
- 백트래킹
- RDBMS와 NoSQL 차이
- 기사단원의 무기 파이썬
- 빌드관리도구
- 웹 동작 과정
- 정규화 장단점
- 프로세스
- finalize 수동 호출
- 이코테2021
- Today
- Total
목록Tech Interview (20)
BUILD_SSO
👉🏻Java 8 ◼ 스트림Stream API에 대해 설명해주세요. Java 8에서 나온 함수형 인터페이스, 일련의 element 들에 대한 연산을 순차적, 또는 병렬적으로 처리해 준다. 데이터 소스에 대한 공통된 접근 방식을 제공한다. 스트림은 원본 데이터를 변경하지 않는다. 스트림은 외부 반복을 통해 작업하는 컬렉션과는 달리 내부 반복(internal iteration)을 통해 작업을 수행한다. 스트림은 재사용이 가능한 컬렉션과는 달리 단 한 번만 사용할 수 있다. 스트림의 연산은 필터(filter)-맵(map) 기반의 API를 사용하여 지연(lazy) 연산을 통해 성능을 최적화한다. 스트림은 parallelStream() 메서드를 통한 손쉬운 병렬 처리를 지원한다. 스트림은 [스트림의 생성 -> 스트..
◼ 클래스와 객체에 대해 설명해주세요. 클래스 객체를 생성하기 위한 설계도나 틀이라고 할 수 있습니다. 객체 클래스를 기반으로 생성되며 자신의 고유한 이름과 상태, 행동을 가집니다. 여기서 상태는 필드(field), 행동은 메서드(method)라고 하며, 객체가 메모리에 할당되어 실제로 활용되는 실체를 인스턴스라고 합니다. ◼ 클래스 멤버 변수 초기화 순서 static 변수 선언부 클래스가 로드될 때 가장 먼저 초기화된다. field(필드) 변수 선언부 객체가 생성될 때 생성자 block보다 앞서 초기화된다. constructor(생성자) 객체가 생성될 때 JVM이 내부적으로 locking (thread-safe영역) ◼ 생성자(Constructor)에 대해 설명해주세요. 생성자는 클래스와 이름이 같은 ..
👉🏻객체 지향 프로그래밍 OOP(Object Oriented Programming) ◼ 객체지향프로그래밍이란? 객체지향프로그래밍이란 데이터를 객체로 취급하여 프로그램에 반영한 것으로, 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말합니다. 객체 지향 프로그래밍의 4가지 특징으로 상속, 캡슐화, 다형성, 추상화가 있고, 모듈 재사용으로 확장 및 유지보수가 용이합니다. ◼ SOLID원칙에 대해서 설명하세요. SRP 단일책임원칙/ 한 클래스는 하나의 책임만 가져야 한다 OCP 개방폐쇄원칙/ 확장에는 열려 있고, 수정에는 닫혀 있어야 한다 LSP 리스코프치환원칙/ 상위타입은 하위타입으로 치환가능해야 한다 ISP 인터페이스 분리원칙/ 인터페이스 내에 메서드는 적을수록 좋다 → SRP와 같은 문제에 대한..
👉🏻인덱스 Index에 대해 설명하고, 장단점을 설명해주세요 인덱스란 테이블을 처음부터 끝까지 검색하는 방법인 FTS(Full Table Scan)과는 다르게 인덱스를 검색하여 해당 자료를 테이블에 액세스하는 방법입니다. 예를 들어, DB를 책으로 비유한다면 데이터는 책의 내용이 되고, 데이터가 저장된 레코드의 주소는 인덱스 목록에 있는 페이지 번호가 됩니다. 장점 인덱스는 항상 정렬된 상태를 유지하기 때문에 (원하는 값을) 검색에 빠르다. 때문에, 인덱스를 사용하면 ORDER BY에 의한 정렬(Sort) 과정을 피할 수가 있고, MIN, MAX값의 효율적인 처리가 가능하다. 단점 하지만 새로운 값을 추가, 수정 삭제 하는 경우에는 쿼리문 실행 속도가 느려진다. 즉, 인덱스는 DML에 약하다. INSER..
👉🏻정규화는 어떤 배경에서 생겨났는가? 한 릴레이션에 여러 엔티티의 속성을 혼합하면 정보가 중복 저장되어 저장공간을 낭비하게 되며 중복된 정보로 인해 '이상 현상'이 발생하게 되는데, 이러한 문제를 해결하기 위해 정규화 과정이 생겨났다. 👉🏻정규화 normalization에 대해 설명해주세요 정규화란, 하나의 릴레이션에 하나의 의미만 갖도록 릴레이션을 분리하는 과정을 뜻합니다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법입니다. 👉🏻정규화의 장단점을 설명해주세요 장점 데이터베이스 변경시 이상현상이 발생하는 문제점을 해결할 수 있다. 데이터베이스 구조 확장시 정규화된 데이터베이스는 그 구조를 변경하지 않아도 되거나 일부만 변경하면 된다. 단점 릴레이션 분해로 인해 릴레이션간..
👉🏻JOIN 이란 JOIN 연산은 두 테이블을 결합하는 연산입니다. 데이터의 규모가 커지면서 하나의 테이블로 정보를 수용하기 어려워지면 테이블을 분할하고 테이블 간의 관계성을 부여합니다. 👉🏻JOIN의 종류 INNER JOIN 두 테이블의 교집합, 즉 두 테이블간 JOIN 조건을 만족하는 행을 반환한다. OUTER JOIN OUTER JOIN이란 조인 조건에서 동일한 값이 없는 행도 반환할 때 사용한다. LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN이 있다. CROSS JOIN Cartesian Product(카디션 곱)이라고도 하며 조인되는 두 테이블에서 곱집합을 반환한다 SELF JOIN 자기자신과 자기자신을 조인하는 것으로, 하나의 테이블을 여러번 복사해..
👉🏻키란 무엇인지 설명해주세요. 데이터베이스에서 키란 튜플을 구분하기 위해 존재한다. 왜냐하면, 튜플을 유일하게 구별하기 위해 모든 속성을 이용하는 것보다 일부 속성만 이용하는 것이 효율성을 높일 수 있다. 릴레이션에 포함된 튜플들을 유일하게 구별해주는 역할은 속성 또는 속성들의 집합인 키가 담당한다. 👉🏻키의 종류와 특징에 대해 설명해주세요. 후보 키(Candidate key): 유일성과 최소성을 만족하는 키. 기본키가 될 수 있는 후보이기 때문에 후보키라고 불린다. 예를 들면, 주민등록번호, 학번 등 기본 키(Primary key): 후보 키에서 선택된 키. NULL값이 들어갈 수 없으며, 기본키로 선택된 속성(Attribute)은 동일한 값이 들어갈 수가 없다. 슈퍼 키(Super Key): 유일성..
👉🏻데이터 베이스를 사용하는 이유는 무엇인가요? 종속성으로 인한 문제점을 해결한다. 응용 프로그램과 데이터 파일이 상호 의존적인 관계에는 데이터 파일이 보조기억장치에 저장되는 방법이나 저장된 데이터의 접근 방법을 변경할 때 응용 프로그램도 같이 변경해야 한다. 중복성으로 인한 문제점을 해결한다. - 일관성: 중복된 데이터 간에 내용이 일치하지 않는 상황이 발생한다. 따라서 일관성이 없어진다. - 보안성: 중복되어 있는 모든 데이터에 동등한 보안수준을 유지하기 어렵다. - 경제성: 저장공간의 낭비와 동일한 데이터의 반복 작업으로 비용이 증가한다. - 무결성: 제어의 분산으로 데이터의 정확성을 유지할 수 없다. 데이터베이스 사용시 효과로 아래 열가지가있다. 1. 데이터의 논리적 물리적 독립성이 보장된다. 2..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AKbzg/btsbDEmkyhs/n6qytDinckiGKUbdexzeO1/img.png)
👉🏻www.google.com 을 브라우저에 입력하고 엔터를 쳤을 때, 네트워크상 어떤 일이 일어나는지 설명해 주세요. 사용자가 브라우저에 URL을 입력 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음 *DNS: IP는 기억하기가 힘들고 변경될 수 있다. 그래서 DNS라는게 존재하며, DNS는 중간에 전화번호부같은 서버를 제공해준다. 도메인 명을 등록하고 그것을 IP주소로 바꿀 수 있다. => 쉽게 얘기해서 DNS서버에 도메인 명(ex. google.com)을 등록할 수 있다. (1)먼저 도메인으로 찾는 것, google.com에 접근할래! (2)DNS서버에다 google.com의 IP를 주세요 (3)DNS응답 (4)받은 IP로 접근 HTTP 프로토콜을 사용하여 HTTP 요청 메세지를 생성함 TCP/I..
OSI 7계층 👉🏻OSI 7계층에 대해 설명해 주세요. 7 계층(응용 계층) : 사용자에게 통신을 위한 서비스 제공. 인터페이스 역할 6 계층(표현 계층) : 데이터의 형식(Format)을 정의하는 계층 (코드 간의 번역을 담당) 5 계층(세션 계층) : 컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층 4 계층(전송 계층) : 최종 수신 프로세스로 데이터의 전송을 담당하는 계층 (단위 :Segment) (ex. TCP, UDP) 3 계층(네트워크 계층) : 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층 (단위 :Packet) (ex. Router) 2 계층(데이터링크 계층) : 데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층 (단위 :frame) (ex. 이더넷) 1 계층(물리 계..