여태까지 겪은 면접 총 정리

2019-04-03

면접 질문 총 정리

K 사 / 백엔드

  • GC 란 무엇인가
  • HAproxy에서 HA가 뜻하는 바는?
  • 디비 인덱스란?
  • 1만개의 데이터를 조회할때 인덱스의 유무 차이
    • 작동 방식, 속도 등
  • 왜 자바개발에 지원했는지
    • 평소에 js만 했기 때문에 질문했을거라 추측

전화면접이었는데 여건상 밖에서 전화를 받았다가 추워서 어버버 떨면서 대답함.


K 사 (스타트업) / 웹 개발

  • GC 란 무엇인가
  • Call By Value / Call By Reference 차이 설명 및 예시
  • 함수형 프로그래밍이란?
  • 0.1 * 0.1 은 0.00000000000001e 이런식으로 되는데 그 이유
  • Integer가 어떻게 저장되는지
  • Double이 어떻게 저장되는지
  • mutable, immutable 차이
  • cpu, gpu 연산의 차이점과 어디에 주로 쓰이는지
  • dfs/ bfs 차이 및 구현
  • stack over flow 란?
  • 모든 재귀를 스택으로 변경할 수 있을까?
  • 스레드가 무엇인지 멀티스레드를 구현해봤는지?
  • 스레드 세이프란 무엇인가
  • 브라우저에 url을 입력했을때의 과정 설명
    • arp 하는 시점을 브라우저가 알 수 있는가?
    • 브라우저에서 맥 주소를 알 수 있는가?
  • 일기장 서비스를 만든다면 어떻게 디비 테이블을 설계 할것인가?
  • 윈도우에서 실행되는 프로그램은 삭제 불가한데 유닉스에서는 가능한 이유
  • 번들러란 무엇인가?
  • Async / Await 내부 구조
  • Promise 내부 구조
  • http 통신 프로토콜에 대해 설명
  • GC를 만들어야 하는 상황이 온다면 어떻게 만들것인가?
  • 램 1기가로 크롬창 몇개를 킬 수 있을까? 창 1개당 1MB로 가정
  • setTimeOut을 주고 실행값 예측 문제
  • 램에 데이터가 어떻게 저장되는지
  • 데이터가 어떻게 전송되는지 설명

사전과제부터 화상면접까지 무난하고 배워가는 느낌도 드는 프로세스였다. 최종면접에서는 팀원 전체가 들어와 11대1 (화상까지 15대1?) 정도의 면접이 있다. 불합격했지만 재밌고 많이 배워간 면접이었다.


D1 사 / 백엔드

  • 2진수를 10진수로 변환 손코딩
  • 10진수를 2진수로 변환 손코딩
  • 16진법을 10진법으로 변환 손코딩
  • [3,2,7,3,2,7,5,8] 중복제거및 순서유지 손코딩
  • 브라우저에 URL 을 입력했을때의 과정
  • inner join, outer join 설명 및 차이점
  • n+1 쿼리문제란
  • union 쿼리란
  • arp란 무엇인가
  • 파이썬을 사용하면서 가장 많이 겪은 에러 및 예외
  • jwt 란
  • http status code 아는것들 설명

면접시간이 짧았기 때문에 질문수도 적다. 가벼운 손코딩과 가벼운 전공지식 위주였다.


H 사 / 백엔드

  • 프로세스와 스레드 차이
  • 레디스에 값을 추가하면 스레드가 추가되는것인가 프로세스가 추가되는것인가?
  • 프로젝트 소개
  • 알디비 장단점
  • 해시맵, 해시테이블 설명
  • 그래프큐엘 장단점
  • 퀵소트 머지소트 시간복잡도 설명
  • 동기 비동기 차이
  • msa 란?
  • MVC 패턴중 비지니스 로직은 어디에 있어야 하는가?
  • rest api란?

무난했다.


K 사 / 안드로이드

  • Call By Value / Call By Reference 차이 설명 및 예시
  • 재귀, 반복문 구현 메모리 차이
  • 리틀 엔디언, 빅 엔디언
  • 추상클래스와 인터페이스 차이
  • 힙영역 코드영역, 스택영역 차이
  • 데드락 발생 요인 4가지
  • context switch 설명
  • jvm 이란?
  • string, string buffer, string builder 차이
  • 안드로이드 생명주기
  • 가비지컬렉터 작동원리
  • dfs, bfs 트리 설명
  • 바이너리 트리 / 바이너리 서치 트리 설명
  • get, post 차이
  • list 와 hash 빅오 차이
  • 뮤텍스와 세마포어 차이
  • 퀵소트 설명
  • &와 && 차이
  • cisc, risc 차이

os 를 주로 물었다. 이유는 모르겠다.


N 사 / 백엔드

  • 컴파일언어와 인터프리터 차이
  • 세마포어 뮤텍스 설명
  • 관심있는 오픈소스
  • 큐 구현
  • 데드락이란
  • h1, h2 차이
  • http https 차이
  • 1부터 100까지 재귀 합
  • printf 함수 구현
  • 그래프큐엘
  • 노드 장단점
  • 알디비 vs nosql
  • mariaDB vs postgreSQL
  • 라이브러리 vs 프레임워크
  • 폴링 롱폴 웹소켓 차이
  • 디비 실행계획
  • 몽고디비로 개발한 이유가 뭔지
  • 몽고디비 스키마 짤때 중점적으로 고려한 것
  • 노드 많이 썼다고 했는데 자바 스프링이랑 비교해서 뭐가 좋은지
  • get post 차이
  • 3way 4way handshake
  • 오버로딩 오버라이딩
  • 서블릿이뭔지
  • 프로세스 스레드 스레드풀 차이
  • 자바 메모리 어떻게 관리하는지
  • 자바 메모리 힙 두 가지 영역
  • 디비 인덱스 쓰는 이유 언제 쓰면 좋은지
  • 디비 커넥션풀 만들면 좋은 점
  • nosql이 요즘 뜨는 이유
  • nosql이 뜨면서 mysql도 같이 뜨는 이유
  • 디자인패턴 아는대로
  • 스프링 어노테이션 장단점
  • 스프링 mvc 구조
  • A월 B일이 무슨 요일인지
  • [n, n-1, n-2 ~ 1] 표현할수있는 숫자 다 출력
  • 브라우저 렌더링 과정
  • 자바스크립트 프로토타입 , 버블링 설명
  • 트랜잭션 설명

제일 가고 싶던 회사 다양하고 깊게 물어본다.


D2 사 / 웹개발

  • 클러스터 인덱스, 논클러스터 인덱스 차이
  • 커넥션 풀이란
  • 사용자 수준의 커널 운영체제 수준의 커널
  • use strict 사용 이유
  • 디자인패턴 사용 이유
  • 싱글톤이란
  • 데드락 발생 원인 4가지
  • nodejs에서 스레드란
  • 객체지향이란
  • 추상클래스와 인터페이스 차이
  • 캐시란
  • 클로저란
  • 사용해본 디자인패턴

면접관들도 구글링해서 면접질문을 찾아온것같다 질문이 어디서 많이 봤던것들


D3 사 / 백엔드

  • powerOfTwo(124)
  • msa 모놀리틱 비교
  • soa
  • 해시맵이란
  • 해시맵 충돌 해결방법
  • rest 란
  • 코루틴, 제너레이터

쉬웠다..