ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 면접 준비
    카테고리 없음 2021. 1. 16. 23:33

    1. 객체지향(OOP) 3요소

    • 클래스 단위 개발

    캡슐화

      • 관련된것들을 한군데 모음
      • 재사용성 증가
      • 접근 제한
      • 은닉화
        • getter/setter
      • 다른 객체와의 독립성 유지로 전체적인 코드 유지보수 변경에 유연

    상속

      • 필드, 메서드
      • 중복 선언 불필요
      • 계층적 구조를 표현 가능(하이어락키)
      • 개발 시간 절약, 중복 코드 감소 유지보수에 용이

    다형성

      • 오버라이딩을 통하여 다향한 형태로 변형 가능
      • 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 있도록
      • 인터페이스 타입 변환, 오버로딩 오버라이딩

    2. JVM (Java Virtual Machine)

      - Java 컴파일러 => Java ByteCode(.class) => JVM은 OS가 이해 할 수있도록 해석
      - OS 상관 없음
      - Class Loader => RunTime 시점에 클래스 인스턴스를 메모리에 로드        

    3. 인터페이스 사용 이유
      - 협업
      - 재활용성
      - 같은 동작하는 메서드
      - 표준화
      - 교체용이
      - Ex_  encrypt 인터페이스 생성
              => SHA512 인터페이스 구현
              => AES256 인터페이스 구현
      - 다중인터페이스 구현
      - 상속은 1개, 인터페이스는 여러 구조 구현 가능
      - 결합도를 낮출 수 있다.

    4. 박싱 언박싱
      - 박싱
           암시적
           값 타입 => 참조타입으로 변환하는 프로세스
           System.Objext 인스턴스 내부에 랩핑, 힙에 저장되기
           20배 느림
      - 언박싱
           명시적
           박싱된 데이터를 값 타입으로 꺼내는 프로세스
           4배 느림
          System.Clollections.Generic 사용 권장

    5. string 과 stringbuilder
      - string은 참조타입 형태이기 때문에, 문자열을 조합 할때마다 새로운 class가 생성 => 이전 데이터 GC에 수집 => 부하
      - 
    Stringbuilder 버퍼 사이즈 지정 후, 부하가 발생하지 않음
      - 문자열을 많이 조합 할 경우 stringbuilder 사용 권장

    6. msa (micro service architecture)
      -SOA(Service Oriented  Architecture)
      - API GateWay를 통하여 독립적인 API를 호출
      - 독릭적으로 개발, 전개
      - 각기 다른 프로그래밍 언어로 구현 가능
      - 스케일 아웃
      - 서버 증설
      - 스케일 업
      - 장비 성능 업
      - 로드 밸런서
      - 트래픽 분산

    7. ASP.NET 페이지 수명 주기

    Page_Init

       가장먼저 발생, 초기화, 이벤트 맵핑

    Page_Load

       IsPostBack

    Page_DataBind

       DataBind 메서드 호출 시 발생

    Page_PreRender

       ViewState 상태가 저장되기 전 발생

    Page_Unload

       랜더링을 끝 마친뒤에 모든 작업이 마무리 할때 발생

    8. .NET 상속 구조

    9.  로깅 및 인증 처리
      - log4net
      - 오류 유형, 패턴, 파일/콘솔 로그

    10. MVC
      - 디자인 패턴중 하나
     
    Model
        - 논리적 데이터 기반 구조
        - 데이터베이스 조회 정보, 상수 등의 데이터
      View
        - 사용자에게 보여지는 화면
      Controller
        - Model 과 View 를 연결하는 클래스, 클래스들 간 정보 교환
      - Backend &  ForntEnd
      - 역할 분담

    11. IIS

    1. 가장인증
    2. 통합인증
    3. 기본인증
    4. 익명인증
      1. 인증
      2. 가상 디렉터리

     

    12. spring framework

    경량 컨테이너로서 자바 객체를 직접 관리

    의존성 주입

    IOC : 제어의 역전, 사람이 아닌 프레임워크가 모든 작업을 제어

    AOP : 관점 지향
            트랜잭션/로깅/보안 등 공통적으로 사용하는 기능 분리 관리

    Intercepter, Filter

    iBatis, Mybatis 등 DB 연결 라이브러리 인터페이스 제공

    트랜잭션 관리 프레임워크 : xml, java, property

    mvc 패턴

    배치 : 쿼츠 기반, 대용양 자료 처리

    스프링 모듈

    DAO : JDBC, 트랜잭션

    ORM : iBatis, JDO 관계

    AOP :

    WEB

    MVC

     

    13. 개발 방법론

    • 폭포수 모델
      • 분석 - 설계 - 구현 - 테스트 - 안정화
      • 사전 계획
      • 진행 상황 쉽게 파악 가능, 프로젝트 관리 용이
      • 중간 중간 변경이 힘듬
      • 산출물 중시
    • 나선형 모델
      • 리스크를 명백히 측정(위험 분석 추가)
      • 점진적 개발
      • 비용이 많이 들고 복잡한 시스템 개발에 용이
      • 프로젝트 관리가 복잡
    • 에자일 모델
      • 프로젝트 시작 끊임없이 변화
      • 문서 => 코딩 중시
      • 다수의 작은 기능으로 분할 개발
      • 중간 중간 버그 체크에 용이
      • 고객의 요구에 대응하기 편함
      • 정확한 계획이 없다면 효율적

     

    14. 디자인 패턴

    1. 개의 인스턴스만 생성
    2. 생성자 private, 생성자는 클래스 내부에서만 호출
    3. getInstance
    1. 미리 만들진 객체를 복사하여 객체를 생성하는 방법
    2. 객체를 많이 만들어야 하는 경우, 코딩 량이 줄어들음
    3. 프로토타입 인스턴스 등록, 클론
    1. 중간의 프록시 클래스를 통해, 실제 해야할 일을 다른 클래스로 넘겨 주는 방법
    2. 시간이 많이 걸리는 작업을 할때 용이
    1. 창구를 일원화
      1. 싱글톤
      2. 프로토 타입 패턴
      3. 프록시 패턴(AOP)
      4. 템플릿 메서드 패턴
      5. 파사드 패턴
    1. NCS
      1. National Competency Standards
      2. 국가 직무 능력 표준
      3. 블라인드 면접
      4. 기업체에서는 인사관리 인재 채용 기준
      5. 교육 훈련 기관에서는 훈련 기준

     

    15. .NET Framework

    • 지원하는 OS 다를 있음
    • VisualStudio 버전 호환이 다름

    버전        

    기타

    2.0

      • ASP.NET
      • WinForms
      • CLR

    3.0

      • WPF
      • WCF
      • WF

    3.5

      • LINQ
      • Entity

    4.0

      • 병렬 처리
      • Parallel LINQ
      • 다이나믹 타입

    4.5

      • .NET API Store/UWP App
      • Task-Based Async Model

    4.6

     

     

    16 인덱스

    • 클러스터드 인덱스는 기본적으로 클러스터드 인덱스를 포함
    • 선택도가 중요
      1. 최대 1
      2. 물리적 레코드를 배열
      1. 최대 249
      2. 인덱스 영역을 만들고 약간의 여유를 남겨둠
      1. Insert 성능 저하
      2. Select 절에 포함되어 있는 경우 Look Up 일어나지 않음
      1. 클러스터드인덱스
      2. 넌클러스터드인덱스
      3. Include
      4.  

    17. API

     

      1. 프로토콜
      2. 기능 위주 (SOA)
      3. XML
      4. 엄격한 규격 존재
      5. 캐시 사용 불가
      1. 아키텍쳐
      2. 리소스 접근 위주 (ROA)
      3. XML , JSON 다양한 포멧 지원, JSON 주로 사용
      4. 규격 없음
      5. 캐시 사용 가능
      1. SOAP
      2. REST

       18. JOIN

    • 옵티마이져
      1. 모수 중요
      2. LOOP 돌면서 조건에 해당하는 데이터를 가져옴
      1. 인덱스가 없을
      2. 조건절로 정렬
      1. 인덱스가 없을
      2. 정렬 X
      3. 조건 컬럼 => hash function => 일치하는 데이터를 가져옴
      1. NL JOIN
      2. Sort Merge Join
      3. Hash Join

     

    댓글

2017 TIFY Team All Rights Reserved.