전체 글 (192) 썸네일형 리스트형 C++ 면접 질문) "왜 이 직무에 지원하셨나요? 다른 직무가 더 적합해 보이시는데요." 나에게 적합한 직무가 무엇일까. 나는 하고 싶은 목표가 있다. 그것은 쇼츠를 올리는 것이다. 스스로 말하는 연습을 하는 것이다. 아내가 원해서 직장을 구하고 있다. 나는 내가 취업을 하기 원하는지 확실치 않다. 취업하지 않고, 스스로 필요한 것을 찾아서 그 필요한 것을 달성하는데 집중하려고 하였다. 아내를 설득하고 싶다. 직무를 한다면, 창업에 도움이 되는 일을 하고 싶다. 어떤 직무를 할지 몰라 우선 유튜브 쇼츠에 나의 관심사를 올리려고 하였다. 그 방법은 아내의 설득을 얻지 못하였다. 아내는 내가 업무에 쓰는 9 to 6 가 충분한 돈으로만 바뀌면 된다고 생각하는걸까. 그건 아닌것 같다. 창업을 위해서 나는 다른 사람과 일하는 방법을 알아야 한다. 창업을 위해서는 여러 가지 일을 할 수 있어야 한다... 알고리즘 면접 질문) "sort와 search의 관계를 설명해주세요" 관계 1. sort 는 search 전 할 수 있는 전처리 과정이다. 다음 기준으로 sort가 필요한지 아닌지 알 수 있다:> data에 대한 search가 1회성이다. -> linear search 사용.>> linear search의 검색 시간은 O(n) 이다. > data에 대한 search가 반복적이다. -> sort 후 binary search 사용>> binary search의 검색 시간은 O(log n) 이다. 그런데 sort에 드는 시간은 얼마일까?> 관계 2. 부록 1. sort 알고리즘 종류와 선택 기준 종류:O(n^2) 알고리즘: bubble, selection, insertionbubble: 왼쪽, 오른쪽 비교해서 왼쪽이 더 크면 오른쪽과 교체. 한 pass가 지나면 끝에 가장 큰.. amdocs 면접 준비) 예상 질문 리스트 amdocs의 job requirements:Working knowledge of Linux environment, shell script and monitoring tools.Working knowledge of Databases and SQL.Knowledge on C++. Working knowledge of Linux environment, shell script and monitoring tools 관련 예상 질문:shell script를 작성해본 경험:ㅁㄴㅇmonitoring tools 사용해본 경험:wireshark:TCP 패킷 까볼 때 사용src ip addr, dst ip addr 등 지정 tcpdump:네트워크 패킷 덤프 생성인터페이스 지정Working knowledge of Datab.. 자료구조 면접 질문) "array와 linked list 의 차이점을 말해주세요." 자료구조 선택 기준:시간 복잡도:삽입, 삭제, 탐색, 접근삽입이 중요한 기능 예시:로깅:std::deque - 여러 고정 크기의 array의 순서를 관리하는 map을 갖는 자료구조장점: 크기 초과 시 데이터 이동이 없음비교: std::vector는 크기 초과 시 전체 데이터 이동이 일어남. 최악의 경우 O(n) 걸림중간 삽입이 중요한 기능 예시:스케줄:std::list - doubly linked list장점: 중간 삽입이 O(1)비교: std::vector 는 연속적 메모리 사용. std::list 는 비연속적 메모리 사용검색이 중요한 기능 예시:캐싱 시스템:std::unordered_map - hash table장점: 검색이 O(1)array의 특징:시간 복잡도:검색 - O(n)할당된 메모리 공간 내.. C++ 면접 질문) "Perfect Forwarding이 뭔가요? 관련해서 사용한 경험 있으시면 말씀해주세요." Perfect Forwarding 소개:Perfect Forwarding은 템플릿에서 잘 사용되는 개념 입니다.예시:void function_name(int& lvalue) { std::cout - 위와 같은 경우에 템플릿으로 임의의 Type 을 받았을 때, function_name 을 호출하고 싶은데, 받은 Type이 lvalue 인지 rvalue 인지에 따라 다른 함수를 호출하고 싶으면 어떻게 할까?template void template_fuction(Type&& parameter) { // universal reference: 유니버셜 참조 function_name(std::forward(parameter); // std::forward: C++ 표준 라이브러리 utility 함수}- 위 코드.. C++ 면접 질문) "C++ 템플릿이 뭔가요? 관련해서 사용한 경험 있으시면 말씀해주세요." C++ 템플릿의 배경:C++ 는 statically typed language 이다compile 시점에 type 이 확정되어야 한다같은 동작을 하는 함수더라도 type 별로 함수를 코딩해야 했다Python 은 dynamically typed language 이다C++ 는 runtime overhead 를 최저로 줄였다Python 은 runtime 시점에 type 을 결정해야 하기 때문에 overhead 가 생긴다C++ 템플릿의 용도:틀을 만든다같은 동작을 하고, type 만 달라지는 경우에 재사용이 가능한 틀을 만든다필요한 것만 만든다 실제 type이 결정되고 생성이 필요한 함수만 만든다C++ 템플릿과 객체지향:객체지향의 다형성의 의미와 템플릿의 다형성 의미는 다르다:객체지향의 다형성 (동적): runt.. C++ 면접 질문) "람다 함수 형식을 설명해주세요." 형식: [캡처](매개변수) -> 반환형 { 함수 본문 };int x = 10;[x](){ // x는 copy};[&x](){ // x는 reference};[=](){ // 로컬 변수, 글로벌 변수 copy};[&](){ // 로컬 변수, 글로벌 변수 reference}; C++ 면접 질문) "boost asio를 사용하여 어떻게 event-driven architecture를 구현하셨나요?" boost asio 소개:- boost 비동기 지원 라이브러리 io_context 소개:- 기본적으로 job queue를 관리하고 실행하는 단위라고 보면 됨- post, dispatch 함수를 통해 job 등록이 가능- 네트워크 소켓, 타이머, 파일 I/O 등 시스템 I/O 처리에 대한 callback 이 job인 경우 I/O 처리가 완료된 시점 job 등록됨- 즉, OS I/O 멀티플렉싱 활용 비동기 처리 가능: 특정 I/O 작업에 대한 callback 등록 필요 - OS I/O 멀티플렉싱: epoll, kqueue 등 을 사용하여 소켓에 데이터가 오거나 타이머가 만료된 이벤트를 감지 io_context 특징:- 내부적으로 job queue 관리 - job은 FIFO 순으로 처리됨- job이 비동기.. 이전 1 2 3 4 ··· 24 다음