cs 4

Swift 면접준비 자료구조편

면접에서 중요한 것은 면접관의 질문이 구체적으로 들어오지 않기 때문에 횡설수설 하지 않고 핵심을 대답해야 한다는 것이다. 그러므로 항상 면접관의 의도를 파악하고 핵심을 말하는 연습이 되어 있어야 한다. 구체적인 내용은 추가로 면접관이 물어보는 경우가 많다. 따라서 쉐도우 복싱으로 어떠한 질문이 들어 왔을때 어떻게 간결하게 답변을 하고 만약 핵심키워드가 등장하지 않는다면 이어지는 질문으로 구체적으로 물어보기도 한다. 자료구조 Array Linked List Stack Queue Hash Table Tree Heap Hash Table Q1. HashTable은 무엇인가요? 해시 테이블은 Key, Value쌍으로 데이터를 저장하는데 삽입 삭제 검색이 모두 평균적으로 선형시간 내에 이루어지는 자료구조입니다. ..

cs 2021.08.03

운영체제란?

운영체제(OS)란 무엇인가요 OS란 컴퓨터의 하드웨어를 효율적으로 관리하여 사용자가 컴퓨터를 편리하게 사용할 수 있게 해주는 프로그램입니다. 운영체제가 하는 일을 설명해주세요 운영체제가 하는 일은 컴퓨터를 사용할 수 있게 사용자에게 Interface를 제공하고 컴퓨터의 자원을 효율적으로 사용하도록 자원을 관리합니다. 대표적으로는 CPU와 Memory가 있습니다. CPU관리는 어떻게 하나요? 먼저 CPU를 관리한다는 것은 프로세스를 관리한다는 의미 입니다. 프로세스란 실행중인 프로그램으로써 컴퓨터에는 동시에 수많은 프로세스가 실행이 되고 있는데요. 이것을 유저가 사용할 수 있게 정확하고 빠르게 처리해야합니다. 따라서 어떤 프로세스를 처리할 것인지 결정하는 프로세스를 스케쥴링 해야합니다. 프로세스 스케쥴링은..

cs 2021.07.15

객체지향 프로그래밍이란?

객체지향 프로그래밍에 대해 설명해주세요. 객체지향 프로그래밍은 상태와 행위를 가진 객체들간에 상호작용을 통해 프로그래밍 하는 프로그래밍 패러다임 중 하나 입니다. 객체에 대해서 좀 더 자세히 말씀해주세요 객체는 클래스에서 정의된 것을 토대로 메모리에 할당 된 것으로 프로그램에서 사용하는 변수와 메소드들을 가지고 있는 구별된 메모리 공간입니다. 이 공간은 변수에 할당된 주소를 통해 접근 할 수 있습니다 즉 변수에 객체를 할당 할 수 있고 그 변수를 통해 객체가 가지고 있는 상태와 메소드를 접근 할 수 있습니다. 클래스를 언급하셨는데 클래스는 무엇인가요? 클래스는 상태와 메소드들의 이름과 타입을 결정해논 객체를 만들기 위한 설계도 입니다. 이 클래스를 만드는 것이 객체지향에서 추상화하는것이라 할 수 있습니다..

cs 2021.07.14

함수형프로그래밍이란?

함수형 프로그래밍은 무엇인가요? 함수형 프로그래밍은 상태와 가변 데이터를 지양하고 순수 함수를 이용해여 프로그래밍하는 프로그래밍 패러다임중 하나입니다. 순수함수를 이용한다 하셨는데 이것은 무엇인가요? 순수함수는 수학적인 함수라고도 하는데요, 수학적인 함수와 프로그래밍에서 쓰이는 함수는 조금 다른 면이 있습니다. 수학적인 함수는 입력값에 따라서만 출력값이 정해집니다. 반면에 흔히 프로그래밍에서 쓰이는 함수는 입력값과 외부상태에 의해 출력값이 정해집니다. 따라서 순수함수는 입력값에 의해서만 출력값이 정해지는 함수입니다. 상태와 가변데이터를 지양한다고 하셨는데 이것은 무슨 의미인가요? 흔히 객체지향프로그래밍에서 사용하는 클래스안의 프로퍼티들이 상태가 될 수 있습니다. Student라는 class에서 name이..

cs 2021.06.08