본문 바로가기

Legacy(~18.10)/면접질답

[면접질답] 3일차

반응형


3일차 // 180715 - 질문

==============================================================================
태형

기술 : 프레임워크와 라이브러리의 차이는 무엇인가요? 각각에 대해서 간략히 설명하고 예시도 들어주세요.

멘탈: 학부 시절 가장 재미있게 들었던 수업과 그 이유에 대해서 말해보세요

==============================================================================
태준

기술: 오버라이딩, 오버로딩에 대해 설명해보세요.

멘탈: 지원하는 직무에서 직장생활을 얼마나 지속할 수 있다고 생각하나요?

==============================================================================
세웅

기술: TCP와 UDP의 비교해보세요.

멘탈:  회사가 어려우면 이직할 마음이 있나요?
==============================================================================










3일차 // 180715 - 
==============================================================================

태형

기술 : 

-프레임워크와 라이브러리의 가장 큰 차이점은 bestcase가 존재하느냐 하지 않느냐의 차이라고 생각합니다. 

프레임워크는 처음 만들어질 때부터, 이 프레임워크는 어떤 목적으로 어떻게 사용하는 것을 편리하게하기위해서 만들었다는 만든 사람의 철학이 담겨있습니다. 그래서 해당 프레임워크를 만든 사람의 철학을 잘 반영하여서 bestcase로 이용되는 것을 목적으로 하고 bestcase가 존재 합니다.

반면에 라이브러리는 bestcase가 따로 존재하지 않고, 사용자의 입맛에 따라서, 필요에 따라서, 일부분 가져다가 쓰는 것이라고 볼 수 있습니다.

에를들면, django라는 프레임워크는 내부에 여러가지 라이브러리를 가지고 있습니다. django 라는 프레임워크의 철학은 빠른 구현, 적은 코드 등등 생산성의 관점에 초점이 맞춰져있고,  코드를 짜는 스타일이 모두 같을 순 없지만, 큰 범위에서의 규칙과 BestCase가 존재 합니다.

반면에 library는 python의 datetime 같은 것을 들 수 있는데,

datetime은 python의 내장 라이브러리 이고, 코드 작성을 하면서, 시간과 관련된 것들을 다룰 때, 주로 사용이됩니다. 이것을 사용하는데 있어서  지켜야하는 룰이나 bestcase는 따로 존재하지 않습니다. 다만, 개발자가 필요할 때, 적절한 상황에 불러다가 쓰면 됩니다.

멘탈

-  저는 학부 시절 가장 재미있게 들었던 수업은 소프트웨어 공학 입니다. 어떻게 하면 소프트웨어를 효율적이고 완성도 높게 만들 수 있을까에 대한 기술적, 사회적인 고민들을 공부해보면서 느껴볼 수 있었고, 실제 팀 프로젝트 때 수업 때 배운 이론들을 적용해보면서, 장단점들을 실제로 느껴볼 수 있어서, 저에게는 가장 재미있게 들었던 수업이였습니다.


==============================================================================


태준

기술

오버로딩은 같은 클래스 내에서 같은 이름의 메쏘드를 사용하는 것 입니다. 클래스 이름은 같고 다른 점은 매개변수 타입 다르거나,  매개 변수 개수가 다릅니다. 오버로딩을 쓰는 이유는 프로젝트가 커졌을 떄, 예를들어서, 매개변수하나를 받아서 출력해주는 메소드가 있다고 가정할 떄, 오버로딩을 사용하면, 메소드 이름을 그대로 가져가면서 매개변수의 타입만 교체해주면 된다 하지만 사용하지 않을 시에는 각 타입 마다 이름을 따로 적어줘야하는 불편함이 생긴다.

반면 오버라이딩은 부모 클래스에서 정의한 메소드를 자식 클래스에서 재정의하여 사용할 수 있다.

OOP에서 오버라이딩은 절대 빠질 수 없는 개념인데, django웹프레임워크를 사용할 때도 모델을 정의 할 때, 뷰에서 클래스 베이스드 뷰를 정의할 때, 각각 상위 부모 클래스에서 상속받아서 멤버변수와 메소드들을 오버라이딩해서 사용한다.

멘탈

-지원 직무에 직장생활을 얼마나 지속할 수 있는지에 대해선 본인의 기준이 중요할 것 같은데, 저는 업무를 통한 자기발전 가능성과 흥미에 비례한다고 생각합니다.


==============================================================================

세웅

기술:

TCP와 UDP 모두 통신 프로토콜이라고 하는데,

각각의 주요 특징은 및 차이점은 매우 많고 이중에서 가장 중요한 특징은 TCP는 데이터의 유실이 없는 데이터 전송의 신뢰성을 중요시하고, 반면 UDP는 신뢰성 보다는 데이터가 끊기지 않고 계속적으로 통신이 가능한 연속성에 더욱 초점을 둡니다.

UDP는 어느정도 패킷손실이되도 서비스 제공에 크게 문제가 없는 스트리밍 서비스에 주로 사용되고 반면 TCP는 그외 패킷손실이 일어나선 안되는 분야에 사용아된다.(예를들면, 메신져에서 메세지를 보냈는데, 패킷이 유실이 되면 보냈는데, 서버에서 값을 받지 못하는 경우가 생김) 

멘탈: 

회사가 이직하고 말고에 대해서 저만의 기준은 업무를 진행하면서 나의 발전 가능성과 흥미 입니다. 이게 지속할 수 있다면 계속 있는 것이고, 이게 지속될 수 없다면 바로 떠나는게 회사에게도 도움이되는 일이라고 생각합니다.

==============================================================================


반응형

'Legacy(~18.10) > 면접질답' 카테고리의 다른 글

[면접질답] 6일차  (0) 2018.08.08
[면접질답]5일차  (0) 2018.07.24
[면접질답] 4일차  (0) 2018.07.24
[면접질답] 2일차 면접질답  (0) 2018.07.14
[면접질답] 1일차 면접질답  (0) 2018.07.13