기술질문 기억나는 거만
백엔드 테크리드 개발자분이 면접관으로 참석.
1. 자바에서 String equals랑 '=='의 차이점?
-> String A = "abc", String B = "abc" 이런 식으로 내용물이 같으면 equals는 내용물만 비교하는 것이기 때문에 true가 나오고 '=='로 하면 변수의 저장위치가 다르기 때문에 false가 된다.
2. 자바 컬렉션이 뭐냐?
-> ArrayList, LinkedList, HashMap 같은 자료구조들을 인터페이스화 한 것
2-1. ArrayList, LinkedList, HashMap 등등 언급해주셨는데 그럼 혹시 LinkedList랑 HashMap에서 자료 검색 시간 복잡도는 어떻게 될까요?
-> LinkedList는 검색하려면 처음부터 다 돌아야 되기 때문에 O(N)이고 HashMap은 키값을 통해 자료값에 접근하기 때문에 O(1)이다.
3. HTTP 메소드들 아는 거 좀 말해주시겠어요?
-> GET, POST, PUT, PATCH, DELETE 정도가 있고 GET이랑 POST는 보내는 데이터가 딱히 암호화 되어 있는 것은 아니지만 GET은 데이터 용량?에 제한이 있고 POST는 제한이 없다.
3-1. PUT이랑 PATCH의 차이점 설명하실 수 있겠어요?
-> 솔직히 잘 모르겠는데 힌트라도 주실 수 있겠냐? -> 힌트 -> 둘 다 UPDATE에 쓰이는 메소드지만 PUT은 업데이트할 수 있는 범위가 제한적이고 PATCH는 업데이트에 제한이 없을 것 같다고 대답.
4. HTTP 스테이터스들 아는대로 설명해주시겠어요?
-> 200, 201번은 전송이 OK 404는 데이터를 못 찾음 500은 Internal Server 에러로 서버 측 문제. 300번대는 기억이 안나요 하니까 리다이렉션에 쓰는 거라 대답해주심.
5. 주소창에 google.com을 치면 접속되는 과정 설명해주실 수 있을까요?
-> URL이랑 관련된 주소를 DNS로 변환, 캐싱 정보 불러오고 TCP/IP 프로토콜 거쳐서 서버에 MAC 주소 찾아서 연결된다.
5-1. 오 그러면 내 컴퓨터에서 바로 구글 서버로 연결되지는 않을거 같은데 혹시 중간에 어떤 과정이 있을 거라고 생각하시나요?
-> Nginx, CloudFlare 같은 프록시 서버를 통해서 구글 서버에 연결되지 않을까 싶다. (면접관이 잠깐 생각하더니 그것도 말이 될 거 같네요라 응답주심)
6. 데이터베이스 인덱싱이란?
-> DB를 검색할 때 추가로 키값을 설정해서 키값 베이스로 뭐 찾고자 하는 값의 범위를 나눠서 조건에 맞는 쪽으로 탐색할 수 있어서 효율적이지만 인덱스 설정하는 데도 비용이 들기 때문에 항상 효율적인 것은 아니다라고 대답함.
6-1. 그러면 CRUD에서 Create, Read 중에 인덱싱이 어떤 경우에 더 효율적일까요?
-> Post는 그냥 서버에 데이터 추가로 보내는 건데 Read는 인덱싱을 쓰면 아무래도 조건에 맞게 검색을 할 수 있어서 Read가 더 효율적일 거 같다고 대답.
7. 정렬 알고리즘 아는 거 있냐고도 물었는데 Quick Sort랑 Merge Sort 등등 말함
-> Quick이랑 Merge를 헷갈리신 거 같다 -> 대충 이러쿵저러쿵 해서 QuickSort는 O(NlogN)으로 돌아갈 거 같다.
8. 간단한 자바 코드 보여주고 이 것의 시간 복잡도는 어떻게 될까요? -> 1 + 2 + 3 + ... + N이라 O(N^2) 일거 같다. -> 코드에 조건 뭘 착각하신 거 같다. 진짜 O(N^2)일거 같냐? ->
설명 이러쿵 저러쿵하고 O(logN)으로 정정하겠다고 대답. -> 예 맞습니다고 알려주심
8-1. O(logN)으로 돌아가는 검색 알고리즘 아는거 있으시나요?
-> 이진탐색법 얘기하니 그 정도면 충분하다고 말씀해주심
이젠 내가 질문
내가 입사하면 무슨 업무하게되냐, 개발팀 구성 등등
이런 질문해도 되나 모르겠는데 내가 현업에서 뛰기엔 역량이 부족한 거 같냐고 물어봄 -> 저희도 면접 보는 입장이라 까놓고 말할 수는 없는데 대충 자기 신입 시절이랑 비슷한 거 같다고 하심.
존나 빡세네. 질문이 계속 꼬리물기 식으로 이어짐 ㄷㄷ
ㄷ
내용자체는 어렵진않네 정말 기본적인것들임
ㅇㅇ 근데 저걸 조리있게 말하는게 힘들드라 데이터베이스랑 네트워크는 진짜 공부 많이해야겠음
문제 진짜 담백하다 - dc App
매운맛은 어캐 나오냐
면접관 엄청 착할듯
면접 많이는 안봤는데 제일 좋은 면접 경험이었음 ㅇㅅㅇ
5-1은 3웨이 핸드쉐이크 말한거 아님?
몰?루 - dc App
라우팅 말하는거 아닌가
나도 라우팅 생각났음
원래는 라우팅 관련해서 질문한 거 였는데 자기가 질문을 살짝 모호하게 한 거 같다고 면접관이 그러드라 - dc App
딱 학부생한테 기대하는 레벨 - dc App
개인적인 생각인데 취준생인데 저정도 질문을 술술 말하지 못하면 준비를 안한것처럼 보일듯 - dc App
안내메일에는 이력서 관련 질문이랑 자료구조 알고리즘 물어볼거라길래 CS 관련 답변은 달달 외우는 수준으로까지는 준비 안하고 봤었음 ㅇㅇ - dc App
4번까지는 알고있었는데 5번부터는 거의모르겠네
5번은모르겟네
내가 면접관이었으면 탈락시킴
어떤 의미에서 탈락임?
면접 안 봐서 개쫄리는데 이 글 보니 좆도 쓸모없는 잡지식만 물어보네
저 정도면 그냥 평타 이상으로는 본 거 같은데.
5번 엄청 얕게 대답했는데 넘어갔음?
인덱싱은 무 조 건 읽기속도를 빠르게 하려는거임. 쓰기는 무조건 느려짐 인덱스까지 다 업데이트 해줘야되니까
5번 CDN 물어본거같은데