정보처리기사, 기술면접 4

[기술면접] 백엔드 관련 (Java, Spring, JPA 등)

JVM과 Java 프로그램 실행 과정을 설명하세요. JVM이란 Java Virtual Machine의 약자로 자바 프로그램을 자바 API를 기반으로 실행하는 역할을 한다. 자바와 OS 사이에서 중개자 역할을 수행하여 자바가 OS에 구애받지 않게 해준다. 자바 프로그램 실행 과정은 프로그램이 실행되면 JVM이 OS로부터 해당 프로그램이 필요로 하는 메모리를 할당받고, 자바 바이트코드로 변환된 class 파일을 클래스로더를 통해 JVM에 로딩한다. 로딩된 class 파일은 execution engine을 통해 해석되고 실행된다. 필요시 garbage collection을 수행해서 불필요하게 할당된 메모리를 해제한다. Garbage Collection이 필요한 이유? 자바 프로그램은 메모리를 명시적으로 지정해..

[기술면접] 웹개발자 기초 지식

스크립트 언어와 컴파일 언어를 나열하고 차이점을 설명하세요. 스크립트 언어로는 python, javascript 등이 있으며, 컴파일 언어로는 C/C++, JAVA 등이 있음 컴파일 언어는 컴파일러를 통해 사전에 컴파일되어 기계어 상태로 실행되므로 실행이 빠르고, 또한 컴파일 단계에서 전체 코드를 기계어로 변환할 때 최적화 작업을 진행하여 실행 시간을 보다 빠르게 할 수 있음 이에 반해 스크립트 언어는 컴파일 단계없이, 실행 단계에서 한 줄씩 기계어로 번역 후 실행되므로 통상 컴파일 언어보다 실행이 느리고, 또한 전체 코드에 대한 실행 코드 최적화가 어려움 객체지향 프로그래밍(OOP)이란 무엇인가? 현실 세계의 사물을 객체라고 보고 그 객체로부터 개발하고자 하는 애플리케이션의 특징을 뽑아와 프로그래밍하는..

[기술면접] CS(Computer Science) 관련

1. 운영체제 프로세스와 스레드의 차이는? 프로세스는 실행 중인 프로그램, 스레드는 프로세스의 실행 단위 프로세스는 운영체제로부터 자원을 할당 받아 실행하고, 스레드는 프로세스로부터 자원을 할당 받아 실행함 하나의 프로세스 안에서 여러 스레드 생성이 가능하며, 각 스레드는 개별 스택을 가지고 프로세스의 전역 메모리 공간을 공유하며 프로그램을 실행함 보통 프로세스는 코드/데이터/스택/힙 메모리 영역을 기반으로 실행하며, 스레드는 프로세스 안에서 개별적인 스택을 가지고 코드/데이터/힙 영역을 공유하며 실행함 프로세스 제어 블록(PCB; Process Control Block)이란? PCB는 특정 프로세스에 대한 중요한 정보를 저장하고 있는 운영체제의 자료구조임 운영체제는 프로세스를 관리하기 위해 프로세스의 ..

2020 정보처리기사 필기 내용 정리

2020년 전면 개편된 정보처리기사 필기 내용을 정리하면서 만든 블로그 '2020 시나공 정보처리기사 필기' 기본서를 바탕으로 정리함 http://mcchae.dothome.co.kr/ 정보처리기사 공부 블로그 중요도 높은 순(A>B>C) 및 키워드, 그리고 주요 특징 위주로 공부! [1과목] 소프트웨어 설계 Click! 1장. 요구사항 확인폭포수 모형, 나선형 모형, 애자일, 스크럼, XP, mcchae.dothome.co.kr