본문 바로가기
라이프

앱 개발자가 면접에서 받는 질문

▶국내 대표 숙박·액티비티 예약 서비스 여기어때의 면접에서 오가는 이야기


 숙박, 배달, 부동산 앱… 온라인의 소비자와 오프라인의 상점을 연결하는 O2O. 최근 전 세계가 주목하는 산업입니다. 



O2O (Online to Offline)

전자상거래 혹은 마케팅 분야에서 온라인과 오프라인이 연결되는 현상을 말한다. 


 미국, 유럽연합(EU), 중국이 O2O 서비스 확산에 나섰다. 육성 정책을 설계하고 규제를 과감히 풀고 있다. 세계 O2O 시장 규모는 2025년 3350억 달러(약 379조 3875억 원)에 달할 전망이다. 이미 승차 공유 분야 O2O 기업 우버가 자동차 생산기업 가치를 추월했다. 2017년 1월 기준 우버의 기업가치는 680억 달러(약 77조 1120억 원)다. GM 562억 달러(약 63조 7308억 원), 포드 498억 달러(약 56조 4732억 원)를 넘어섰다.

출처: [전자신문][이슈분석]카풀·배달·숙박…세계는 O2O 키우기 경쟁 


 O2O 서비스는 IT 집약 산업인 만큼 유능한 엔지니어 풀 확보를 위해 다방면 노력 중입니다. 회사의 미래를 이끌어 갈 ‘주축’이기 때문이죠. 여기어때도 예외는 아닙니다. 유능한 지원자를 모시기 위해 2018년 상반기 대규모 개발자 채용을 진행하며 개발 인재가 몰리는 판교 일대에 옥외광고를 집행했죠. 


▲여기어때가 판교역사 내부를 비롯해 광역버스, 시내·마을버스에 개발자 구인정보를 게재했다.


 이후 수준 높은 인재가 몰려들었습니다. 경쟁률은 전년 대비 6배 이상 오르고, 일부 직군은 1,000대 1까지 지원율이 치솟았습니다. 올해만 100명에 달하는 엔지니어가 여기어때 로켓에 탑승했죠. 그리고 최근, 올해 세 번째 개발 인재 공개채용을 진행합니다.


▲(출처: 지디넷코리아) 대규모 개발자 모집이 있었던 지난 상반기, 여기어때는 구직자들의 뜨거운 관심을 받았다.


 입사지원자의 치열한 경쟁 속, 여기어때는 어떤 기준으로 적합한 인재를 가려낼까요. 여기어때 면접에서 나왔던 질문 92가지를 공개합니다. O2O 애플리케이션 개발을 지망하는 예비 개발자·경력자들께 참고가 되길 바랍니다.



앱 개발자(클라이언트)  

1. adHoc vs in house의 차이점을 설명하세요

2. 하이브리드 앱 세션 관리를 위해 어떤 처리가 필요한가요

3. Edge 컴퓨팅에 대해 아는 만큼 이야기해주세요

4. Event Dispatcher를 설명하고, UI Freezing 현상은 어떤 경우 발생하는지 Event Dispatcher와 연관 지어 답해주세요

5. 블로킹, 논블로킹, 동기 비동기의 차이를 설명하세요

6. android의 GC 동작 방식을 설명하세요

7. ios의 ARC 동작 방식을 설명하세요

8. switf와 kotlin의 사용 경험이 있나요

9. 멀티해상도 대응 방안 및 처리 방법은 무엇일까요



백엔드 개발자  

10. 디자인 패턴이 무엇인지 설명하시고, 패턴 중 하나를 선택해 정의와 예시를 들어주세요

11. NoSQL를 예를 들어 설명하세요

12. thread와 process의 차이를 설명하세요

13. 내부 repository를 사용하는 이유는 무엇일까요

14. gradle과 maven의 차이점을 설명하세요

15. O2O 서비스에서 백엔드 개발자의 역할은 무엇일까요

16. elastic-search와 graph-QL에 대해 설명하세요

17. http/1.1과 restfull-api에 대해 설명하세요

18. 동적 스키마 설계 시 고민할 점은 무엇일까요

19. 절차 지향과 객체지향 개발의 차이점을 설명하세요

20. ingercepter와 filter의 순서와 차이점을 설명하세요

21. transaction isolation level의 종류 및 특징을 설명하세요

22. JTA를 설명하세요

23. MD5, AES256, SHA256의 차이점과 각 암호화 방식에 대해 설명하세요

24. CDN과 AWS cloudfront의 차이점과 사용 이유를 설명하세요

25. 네임스페이스, 트레잇, 클로저를 설명하세요(for PHP)

26. Transaction과 storage engine의 관계를 설명하세요

27. Static function의 특징을 설명하세요

28. Fault-tolerant(무정지) 시스템으로 가기 위해 필요한 개발 방법에 대한 생각을 말해주세요

29. CDC는 무엇이며 구현 방법을 설명하세요



프론트엔드 개발자

30. api broken pipe 발생 원인과 해결 방법은 무엇일까요

31. vue.js를 설명하세요

32. angular.js를 설명하세요

33. 반응형 웹과 적응형 웹의 차이점은 무엇인가요

34. 클로저는 무엇이며, 어떻게/왜 사용하는지 설명하세요

35. 최근 경험해 본 프론트엔트 프레임 웍을 설명하세요

36. (웹)프론트엔드 개발자의 역할과 범위를 설명하세요

37. Cross-Site Scripting (XSS)을 설명하고 해결 방안을 답해보세요

38. CORS에 대해 설명하세요

39. http 프로토콜에서 https이미지를 불러올 수 있나요? 불러온다면 어떠한 문제가 있을까요? warning을 없앨 방법은 무엇일까요

40. SPA(Single Page Application)로 구성된 페이지에서 SEO(Search Engine Optimization)를 할 방법은 무엇일까요

41. SSR(Server Side Rendering)은 무엇일까요? 그리고 사용 목적을 설명하세요



클라우드 인프라 DevOps 엔지니어

42. DevOps의 정의는 무엇이며, 어떠한 장점이 있나요

43. DevOps를 적용할 때 주의할 점은 무엇인가요

44. 실제 업무에서 DevOps를 적용한 케이스가 있나요

45. AWS 등 클라우드 기반 운영 및 개발 경험에 대해서 이야기해주세요 

46 클라우드 서비스 중 가장 많이 사용했던 서비스는 무엇인가요? 그리고 편의성이 있었다면

47. 서비스 운영 간 장애와 대응에 대한 생각을 말해주세요

48. 데브옵스란 무엇인가요

49. 클라우드 기반 기술 동향에 대해 어떻게 생각하나요

50. 아래 설명한 여기어때 서비스를 IDC와 CDN 환경에서 AWS 환경으로 옮기는 구성이 필요합니다. 어떻게 할 수 있는지 설명하세요



빅데이터 엔지니어

51. Hadoop, Spark 등 빅데이터 처리 플랫폼 중 하나를 선택해 특징, 장/단점을 설명하세요

52. 구글의 Big table에 대해서 설명하세요

53. Map Reduce의 개념에 대해 설명하시고 실무에 적용한 사례를 구체적으로 설명하세요

54. ETL이란 무엇인지 설명하세요

55. Spark RDD가 무엇인지 설명하세요

56. NoSQL의 장/단점을 설명하세요

57. Data Warehouse 관점에서 Metadata를 설명하세요 

58. NameNode와 DataNode가 무엇인지 각각 설명하세요 

59. 서비스 중인 MasterDB "A"를 Data Mining 하기 위한 시스템 구성 방법을 설명하세요. (A DB는 read/write 되고 있습니다)

60. GA(Google Analytics)의 통계 수집 방법 및 데이터 처리 방식에 대해 설명하세요

61. Funnel 분석과 Cohort 분석에 대해 설명하세요



빅데이터 엔지니어(DBA)

62. RDBMS에서 테이블 Normalization의 정의와 테이블 설계에 적용했을 때 장/단점을 설명하세요

63. sharding과 partitioning에 대해 설명하세요

64. 데이터베이스의 장애를 어떻게 대응할 수 있을까요

65. 인덱스가 걸리지 않은 테이블 데이터가 1억 건 이상 쌓여 있는 상황이라면, 데이터를 원활히 가져오기 위해 어떤 작업을 수행해야 할까요

66. Isolation Level의 종류에 대해 설명하세요

67. Deadlock의 발생원인과 이를 해결하는 방법에 대해 설명하세요

68. MySQL DB 이중화하는 방법 종류와 각 이중화 방법의 차이점 및 fail over 시 복구 순서를 설명하세요

69. CHAR와 VARCHAR의 차이점과 update 시 어떤 타입이 더 빠르며 빠른 이유에 대해 설명하세요

70. mysql bin log 기준으로 복구하는 방법에 대해 설명하세요

71. hot backup과 cold backup의 차이점과 이유를 설명하세요

72. Covering Index와 Covering Index를 확인 가능한 방법을 설명하세요



정보검색 엔지니어

73. 검색 모델링 정의를 설명하시고, 모델링의 방법에는 어떤 것들이 있는지 예를 들어 답해주세요

74. 구글의 Page Rank를 설명하세요

75. 딥 러닝을 정보 검색에 사용하는 방법에 대해서 알려주시고, 기존의 정보 검색과의 차이점에 대해 설명하세요

76. 검색 결과의 품질을 평가하는 방법에 대해 설명하세요

77. BM25 알고리즘에 대해 설명하세요

78. 이진트리와 B-Tree를 설명하세요

79. 디자인 패턴 종류를 3가지 설명하세요. (싱글톤 제외)

80. 검색엔진 작동 원리에 대해 설명하세요

81. SyntaxNet에 대해 설명하세요

82. 검색엔진에서 형태소 분석이 필요한 이유는 무엇인가요

83. 검색엔진에서 색인과 인덱스의 차이점은 무엇인가요

84. 자연어 처리 알고리즘에 대해 설명하세요



서비스 플랫폼팀

85. MSA에 대해 알고 있나요? 직접 구현한 마이크로 서비스 아키텍처를 설명 및 도식화할 수 있나요

86. Polyglot Programming에 대해 알고 있나요? 개발할 때 가장 편하게 사용할 수 있는 언어는 무엇인가요

87. RDMBS와 NoSQL의 차이점을 무엇이라 생각하나요

88. 에러(Error)와 예외(Exception)의 차이점을 무엇이라 생각하나요

89. 원하는 업무의 방향이 협업하는 직원들과 다를 경우 어떻게 해결할 수 있나요



데이터팀

90. 평균과 표준편차에 대해 이해하고 있나요

91. 함수의 미분·적분을 이해하고 있나요

92. (정보검색) KD-tree 또는 Balanced tree 동작 메커니즘을 알고 있나요