인터뷰

인터뷰

    DevOwen의 구직 이야기 Ch4. 기술 인터뷰

    코딩 테스트나 사전 과제 전형에 통과하고 나면, 그 다음으로 기술 인터뷰를 보게 된다. 나 같은 경우 온사이트 기술 인터뷰와 스크리닝 화상(또는 전화) 인터뷰 두 가지 형태로 보았던 것 같다. 요즘에는 코로나 바이러스 때문에 기술 인터뷰를 화상으로 보는 회사들도 있다. 스크리닝 인터뷰 스크리닝 인터뷰는 보통 온사이트 기술 인터뷰 보기 전에 지원자의 실력을 체크하는 용도로 30분~1시간 정도로 가볍게 진행한다. 뭔가 과제를 주는 경우보다는 이력서를 기반으로 질문을 하거나, 지원 분야에 관련된 기본적인 직무 지식을 물어본다. 나 같은 경우 웹 프론트엔드 분야로 지원을 했었는데, HTML, CSS, JS, 브라우저 및 웹 전반, FE 관련 라이브러리 등등에 대해서 물어보았던 것 같다. 간혹, 자료구조, 알고리..

    DevOwen의 구직 이야기 Ch2. 이력서 작성

    오늘은 이력서를 작성하는 법에 대한 이야기를 해 보려고 한다. 나는 짧막짧막한 이력들만 있었고, 사실상 신입이었다. 그래서 이 글은 경력직 분들이 보시기에는 다소 적합하지 않는 부분도 있다. 감안해서 봐 주시기를 바란다. 그리고 나는 대기업 공채는 쓰지 않았다. 이유는 대기업을 가면 연봉이나 복지, 사회적 평판은 좋을지 몰라도, 커리어를 길게 보았을 때 내 전문성을 주도적으로 가지기 어렵고 또 회사에 내가 끼칠 수 있는 임팩트가 클 수 없다고 생각했기 때문이다. 참고로 신입은 경력직보다 구직이 (매우) 더 어렵다. 채용 공고도 더 적고, 이력도 없거나 적기 때문이다. 실무 스킬도 당연히 불리하기 때문에 여러모로 어려운 점이 참 많다. 그럼에도 불구하고 신입이 경력직에 비해서 가질 수 있는 무기가 하나 있..

    <FE면접질문> #6. 운영체제

    이번에도 CS Fundementals 중 하나인 운영체제 관련 질문들에 대해 정리해 보려고 한다. 운영체제 컴파일러와 인터프리터의 차이가 무엇인가요? (N사 전화면접) 컴파일러와 인터프리터 모두 고레벨 언어를 기계어로 변환하는 역할을 수행하지만 차이점은 컴파일러의 경우 전체 코드를 보고 명령어를 수집하고 재구성하는 반면, 인터프리터는 소스코드의 각 행을 연속적으로 분석하며 실행한다. 인터프리터는 고레벨 언어를 중간 레벨 언어로 한 번 변환하고 이를 각 행마다 실행하기 때문에 일반적으로 컴파일러가 인터프리터보다 실행 시간이 빠른 경우가 많다. java의 경우 .java 파일을 .class 파일로 자바 컴파일러가 컴파일을 하고, .class 파일을 기계어로 인터프리터가 변환하는 것이다. 프로세스와 스레드의 ..

    DevOwen의 구직 이야기 Ch1. 마음가짐

    2020년 3월, 나는 예상치 못하게 전 회사에서 퇴직을 하게 되었다. 굳이 지난 이야기를 주절주절 쓰고 싶지는 않고, 암튼 올해 2월에 대학교를 졸업했는데 3월에 백수가 되었다. ㅋㅋ 사실 퇴직을 하는 시점에 나 스스로 되게 많이 지쳐있었던 것 같다. 그래서 2달 정도 스스로에게 휴가를 주기로 했다. 코로나 바이러스로 인해 여행은 못 가는 상황이었고, 대학교 때 누려보지 못한 완전 자유(!)를 처음 느껴보았다. 정말 좋았다 :) 넷플릭스랑 JTBC 월정액을 신청해서 영화, 드라마, 예능, 다큐를 미친듯이 보고.. 작년 말부터 하던 크로스핏을 주 6일씩 갔다. 그러다가 이전부터 배워보고 싶었던 스쿼시를 배우기 시작했다. 틈틈이 개발 공부도 했다. 회사를 다니면서 개발 지식이 부족하다고 느낀 점이 많았기 ..

    <FE면접질문> #5. 자료구조

    중견기업 이상에서 많이 물어보는 CS 기본기 인터뷰 질문 중 첫 번째로 자료구조에 대해서 정리해 보려고 한다. 자료구조 Array와 LinkedList의 차이가 무엇인가요? (N사 전화면접) Array는 Random Access를 지원한다. 요소들을 인덱스를 통해 직접 접근할 수 있다. 따라서 특정 요소에 접근하는 시간복잡도는 O(1)이다. 반면 Linkedlist는 Sequential Access를 지원한다. 어떤 요소를 접근할 때 순차적으로 검색하며 찾아야 한다. 따라서 특정 요소에 접근할 때 시간복잡도는 O(N)이다. 저장방식도 배열에서 요소들은 인접한 메모리 위치에 연이어 저장된다. 반면 Linkedlist에서는 새로운 요소에 할당된 메모리 위치 주소가 linkedlist의 이전 요소에 저장된다...

    <FE면접질문> #3. JavaScript (Part 1)

    자바스크립트 관련 예상 질문은 양이 많아서 두 번에 나누어서 정리해 보려고 한다. JavaScript 이벤트 버블링(Event Bubbling), 이벤트 캡쳐링(Event Capturing)에 대해서 설명하세요. (D사 화상면접) 이벤트 버블링은 특정 화면 요소에서 이벤트가 발생했을 때 더 상위 요소들로 전달되어 가는 특성을 의미한다. 이벤트 캡처링은 이벤트 버블링과 반대로 상위 요소에서 하위 요소로 탐색하며 이벤트를 전파하는 방식이다. event delegation에 대해 설명하세요. (D사 화상면접) 특정 요소 하나하나를 개별적으로 이벤트를 부여하는 것이 아니라, 하나의 부모에 이벤트를 등록하여 부모가 이벤트를 위임하는 방식을 이벤트 위임이라고 한다. 이 방법은 동적인 요소들에 대한 처리가 수월하며 ..

    <FE면접질문> #2. CSS

    이번 포스팅에서는 CSS 관련 예상 질문과 답변을 정리해 보고자 한다. CSS class와 id의 차이점을 설명해 주세요. id와 class의 차이는 id는 유일한 요소에 적용할 때, 그리고 css는 복수의 요소에 적용할 때 사용한다는 점이다. 하나의 id는 한 문서에서 한 번만 사용이 가능하지만, 하나의 class는 여러 번 사용이 가능하다. 우선순위는 id가 class보다 높다. float가 어떻게 동작하나요? float 속성은 현재 위치의 왼쪽이나 오른쪽으로 shift되어 배치되는 박스의 일종이다. 이 때 컨텐츠는 float 속성이 적용된 요소의 주변에 위치하게 된다. 클리어링(Clearing)에는 어떤 것들이 있으며, 각각은 어떨 때 사용하나요? float 속성의 영향에서 벗어나기 위해 사용하는 ..

    OS #3. 프로세스 (Process)

    오늘은 프로세스에 대해서 공부해 본다. 프로그램과 프로세스 소스코드 (.c file) : 프로그램이 수행하고자 하는 작업이 프로그래밍 언어로 표현 컴파일러 (compiler) : 사람이 이해할 수 있는 프로그래밍 언어로 작성된 소스코드를 컴퓨터(CPU)가 이해할 수 있는 기계어로 표현된 오브젝트 파일로 변환 오브젝트 (.o file) : 컴퓨터가 이해할 수 있는 기계어로 구성된 파일. 자체로는 수행이 이루어지지 못함. 프로세스로 변환되기 위한 정보가 삽입되어야 함. 상대 주소로 표현 링커 (linker) : 관련된 여러 오브젝트 파일들과 라이브러리들을 연결하여 메모리로 로드될 수 있는 하나의 실행파일만 작성 실행파일 (.exe) : 특정한 환경(OS)에서 수행될 수 있는 파일. 프로세스로의 변환을 위한 ..