티스토리 뷰

면접질문

중소기업 개발자 공통질문

상어악어 2021. 9. 9. 15:56
반응형

1.스택과 큐의 차이점

스택은LIFO(LAST IN FIRST OUT,후입선출)이고,

큐는 FIFO(FIRST IN FIRST OUT,선입선출)이라는 것에 차이가있다.

스택은 쌓아올리는 것. TOP으로 정한곳을 통해서만 접근할 수 있다.

TOP에서 가장 위에 있는 자료가 가장 최근에 들어온 자료고, 가장 먼저나가는게 가장 최근에 들어온 자료다.

비어있는 스택에서 원소를 추출하려고 할때 stack underflow라고 하며, 스택이 넘치는 경우 stack overflow라고한다.

ex)웹 브라우저 방문기록, 역순 문자열 만들기...

큐는 줄을 서서 기다리는 것.

스택과 달리 한쪽 끝에서는 삽입 작업이, 다른 쪽 끝에서는 삭제 작업이 양쪽으로 이루어진다.

삽입작업 이루어지는 곳=rear, 삭제연산 이루어지는 곳=front

프론트원소는 가장 첫번째 들어온 원소

리어원소는 가장 늦게 큐에들어온 원소

ex)은행 업무, 콜센터 고객 대기시간,너비 우선 탐색(BFS, Breadth-First Search)구현, 캐시(Cache)구현

2.CSS에 대하여 설명하세요

CSS는 Cascading Style Sheets의 약자로

HTML, XHTML, XML 같은 문서의 스타일을 꾸밀 때 사용하는 스타일 시트 언어이다.

HTML로 문서의 뼈대를 만들면 CSS는 이 문서의 화장을 맡고 있는 셈

글꼴이나 배경색, 너비와 높이, 위치 등을 지정하거나

웹 브라우저, 스크린 크기, 장치에 따라서 화면을 다르게 표시될 수 있도록 지정할 수도 있습니다.

3.루비와 파이썬의 차이를 설명하세요

둘다 고급언어와 객체지향 언어라는점에서는 상당히 비슷하지만, 문제 해결에 대한 접근 방시이나 적합한 응용 프로그램의 유형이 다르다.

루비는 범위가 완전히 지정되지 않았거나 구현 중에 변경 될 가능성이 있는 경우에도 비교적 빠른 프로토 타이핑 및 개발이 가능하다.

그러나 아키텍쳐, 모듈 또는 데이터베이스를 완전히 제어해야하는 혁신적인 웹 개발 솔루션에서는 적합하지 않다.

파이썬은 수평적으로 확장되고 클라우드를 활용하는 애플리케이션에 적합하다. 다양한 라이브러리 덕분에

루비를 사용할때보다 전체 개발 프로세스를 보다 강력하게 제어하여 원하는 것을 거의 만들 수 있다.

솔직히 3번은 뭔소린지 잘 모르겠다.

4.c언어에서 포인터 변수가 무엇인지 설명하세요

포인터 변수란 함수에게 변수를 전달해줄때

value가아닌 reference참조를 하는 변수입니다.

즉, 변수의 값을 전달하는것이아니라 변수의 메모리 주소 값을 전달해주는 역할을 합니다.

5.c++에서 IL 그리고 C++과 C#의차이점을 설명하세요

앞에건 못찾겠고

C++과 C#의 공통점으로는 둘다 객체지향 언어라는 것

차이점은

5-1.C++은 오버헤드와 라이브러리를 알아서 처리하기때문에

바이너리의 크기가 가벼운 반면

C#은 컴파일할때 수많은 오버헤드와 라이브러리가 포함되서 바이너리의 크기가 크다

5-2.C++의 코드가 C#의 코드보다 빠르다

5-3.C#에는 가비지 컬렉션이 있고 C++에는 없다

5-4.MS에서 JAVA의 좋은점을 포함시켜 만든게 C#인데

주로 윈도우 운영체제를 겨냥해서 만들어져

윈도우에서 쓰이지만

C++은 맥,윈도우,리눅스 등 어떤 운영체제에서도 구동할 수 있다.

6.소프트웨어 공학이 나온 배경 그리고 가장 기억에 남는 방법론을 말하세요

배경

6-1 소프트웨어 개발에 필요한 시간 및 비용 예측력 부족

6-2 개발된 소프트웨어의 품질 수준 부족

6-3 하드웨어에 대한 소프트웨어의 상대적 비용 변화

6-4 유지 보수의 역할 증대

6-5 하드웨어 및 소프트웨어 기술의 급속한 발전

6-6 크고 복잡한 소프트웨어에 대한 수요 증가

방법론은 너무어려워서 일단 패스..

7.알고리즘이 무엇인지 그리고 왜필요한지 설명하세요

알고리즘은 문제해결을 위한 컴퓨터의 처리 순서도이고,

컴퓨터의 효율적인 실행을 위해 필요하다고 생각합니다.

알고리즘을 어떻게 짜느냐에 따라 실행 속도나 메모리 공간이 달라지기 때문에 더 좋은 알고리즘을 짤 수록

실행에 효율적이게 되는 것 같다.

 

8.객체지향 언어의 3대특징에 대하여 설명하세요

8-1 캡슐화: 값의 보호를 위해 객체의 필드, 메소드를 필요에 의해 감추는 거나 들어내는 것.

8-2 상속성: 부모클래스의 필드를 자식 클래스가 물려받는다

8-3 다형성: 같은 타입이지만(부모클래스가 같지만), 실행 결과가 다양한 객체를 이용할 수 있는 성질

9.TCP/IP에서 TCP가 무엇인지 그리고 IP가무엇인지 설명하세요

TCP(Transmission Control Protocol)전송 제어 프로토콜으로

IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다

IP(Internet Protocol)인터넷 프로토콜으로

패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. 데이터의 조각들을 되도록 빨리 보내는 일을 함.

프로그래머스-개발자채용에서 찾아보다 발견한 개발자 공통 질문

대부분 모르는 것들이어서 구글에서 찾아 내 나름대로의 답을 정리해보았다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 29 30 31
글 보관함