[*IT 지식] 기술면접준비

🐷Jinie (juniorDeveloper)·2021년 1월 12일
3

개념정리

목록 보기
12/13

1. 클래스, 객체, 인스턴스

  • 클래스 :
    객체를 만들어 내기 위한 설계도
    변수와 메서드의 집합
  • 객체 :
    소프트웨어 세계에 구현할 대상
  • 인스턴스 :
    설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체

2. 포트번호

  • FTP :
    20 ~ 21 번
  • SSH :
    22 번
  • HTTP :
    80 번
  • HTTPS :
    443 번
  • SMTP :
    25 번
  • telnet :
    23 번

3. http (80번) vs https (443번)

  • HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자.
    서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜
  • HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결
    SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아준다.

4. http 상태코드

200 = 성공
400 = 클라이언트가 요청 잘못함
500 = 서버가 잘못함
404 = 페이지 못찾음

5. WEB / WAS

  • WEB :
    HTML, CSS, js, jpg 등 정적인 데이터를 처리하는 웹서버
    클라이언트가 요청한 정적인 콘텐츠를 HTTP 프로토콜을 통하여 제공해주는 서버
    동적인 요청이 클라이언트로부터 들어왔을 때, 해당 요청을 웹 서버에서 처리할 수 없기 때문에 컨테이너(Container)로 보내주는 역할
  • WAS :
    JSP, ASP, PHP 등 사용자의 입력을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버.
    웹 서버와 컨테이너를 붙여놓은 서버

6. 동기방식 (Synchronous) vs 비동기 방식 (Asynchronous)

  • 동기방식 (Synchronous)
    요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식이다.
    어떠한 일을 처리할 동안 다른 프로그램은 정지한다.
    실제 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다.
  • 비동기 방식 (Asynchronous)
    요청을 보낸 후 응답(=결과)와는 상관없이 다음방식이 동작하는 방식이다.
    결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.

7. Servlet ?

  • 클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그램

8. 교착상태 ( Dead Lock )

  • 교착상태(Dead Lock) :
    상호 배제에 의해 나타나는 문제점
    둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

9. TCP와 UDP의 차이

  • TCP :
    연결형 서비스로 가상 회선 방식을 제공한다.
    3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
    흐름 제어 및 혼잡 제어.
    높은 신뢰성을 보장한다.
    UDP보다 속도가 느리다.
    전이중(Full-Duplex), 점대점(Point to Point) 방식.
  • UDP :
    비연결형 서비스로 데이터그램 방식을 제공한다
    정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
    UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
    신뢰성이 낮다
    TCP보다 속도가 빠르다.

10. CORS

  • 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) :
    추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다.

11. JBOSS

  • Java Servlet Application server
    Jboss는 훨씬 더 기능이 많다.

12. 포팅 ( Porting)

  • 어느 한 운영체제에서 사용되는 프로그램을 다른 운영체제에서 사용하기 위해 변경하는 것.
  • 세션 :
    Server에만 저장
  • 쿠키 :
    String 만 저장
    Client PC 에 저장되어 조작이 가능하다.

14. 보안 알고리즘

  • SHA :
    SHA(Secure Hash Algorithm, 안전한 해시 알고리즘) 함수들은 서로 관련된 암호학적 해시 함수들의 모음
    SHA-256은 현재가장 많은 분야에서 채택하여 사용되고 있는 암호 방식
    출력 속도가 빠르다는 장점
    (프로젝트진행하면서 사용해봄!!)

15. AJP

  • AJP는 웹서버(Apache) 뒤에 있는 어플리케이션 서버로부터 웹서버로 들어오늘 요청을 위임할 수 있는 바이너리 프로토콜

16. 아파치와 톰캣

  • 아파치 (Apache) :
    ▷ 웹서버 = 80번 포트로 클라이언트 요청(POST,GET,DELETE)이 왔을때만 응답함.
    ▷ 정적인 데이터만 처리한다.(HTML,CSS,이미지 등).
  • 톰캣 (Tomcat) :
    ▷ WAS(Web Application Server)
    컨테이너, 웹 컨테이너, 서블릿 컨테이너라고 부름
    JSP,서블릿처리,HTTP요청 수신 및 응답
  • 톰캣이 아파치의 기능 일부를 가져와서 제공해주는 형태이기 때문에 같이 합쳐서 부른다. WAS(Web Application Server)

17. ORM

  • 객체관계매핑 :
    ORM(Object-relatinal mapping)이란 객체(클래스)와 관계(관계형 데이터 베이스)와의 설정을 의미 합니다. 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터 베이스는 테이블을 사용합니다. 여기서 객체 모델과 관계형 모델간에 불일치가 존재 하는데 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결 하는 것이 ORM입니다.

18. 스키마

  • 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합

19. 트랜잭션 4가지 특성

  • 트랜잭션의 특징은 크게 4가지로 구분된다.
    원자성 (Atomicity)
    일관성 (Consistency)
    독립성 (Isolation)
    영속성 (Durability)

20. 객체지향 5원칙(SOLID)

  • SOLID란 로버트 마틴이 2000년대 초에 명명한 객체 지향 프로그래밍의 다섯 가지 기본 원칙을 마이클 페더스가 원칙의 앞 글자를 따서 다시 SOLID라는 이름으로 소개한 것

    단일 책임 원칙(Single responsibility principle) : SRP
    개방 폐쇄 원칙(Open/closed principle) : OCP
    리스코프 치환 원칙(Liskov substitution principle) : LSP
    인터페이스 분리 원칙(Interface segregation principle) : ISP
    의존관계 역전 원칙(Dependency inversion principle) : DIP

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

2개의 댓글

comment-user-thumbnail
2021년 1월 21일

항상 잘보고 있습니다.
좋은 결과 얻으시길!

1개의 답글