많은 합격수기들을 보면
등의 생각을 들게한 부분이 많았었고, 나중엔 나도 꼭 적용해봐야지를 늘 외쳤지만..
늘 생각대로 되지않고 미루거나 까먹게된 경우가 많았다
그래도 놓치지 않고 북마크나 스크랩하는 습관이 있어 자료들은 가지고 있으니 슬슬 정리해볼까 한다. 근데 좀 산재되어있음 ㅎㅎㅎㅎㅎ
앞으로 적을 글 들은 학교 커뮤니티와 여러 강연, 채용설명회 등의 자료를 보고 얻은 바를 바탕으로 기술한 것임을 밝힙니다.
[스펙]
카카오는 프로젝트 개수가 0개여도 코테만 뚫으면 면접기회를 줬음 (2022년 기준)
[기술 면접 대비 시나리오 - 1]
면접자 : A 기술의 속도 문제를 해결하기 위해 B를 도입했습니다!
- 왜 C가 아닌 B를 사용하셨나요
- A는 왜 느린가요
- B는 어떻게 구현하셨나요
- B는 이런 문제가 있을 것 같은데, 어떻게 해결하셨나요
- B를 사용할 수 없다면, 어떻게 A를 최적화 할 수 있을까요
- 그 최적화 방법은 왜 빠른가요
- 그 최적화 방법의 문제점은 없을까요
중요하게 생각했던 요소는 3가지
1) 코딩테스트
2) CS
3) 프로젝트
[코딩테스트]
[CS]
CPU
가 뭘 하는지 모르고 RAM
이 뭔지 모르는 상태로 CS 전공책을 보는 게 힘들었음네트워크
-> 컴구
-> 운체
-> 알고리즘
순서로 진행분류 | 책 이름 | 표지 | 페이지 수 |
---|---|---|---|
컴퓨터 구조 | 컴퓨터 구조론 (개정5판) | ![]() | 532p |
네트워크 | 컴퓨터 네트워킹 하향식 접근 | ![]() | 743p |
운영체제 | <div center운영체제[제10판] | ![]() | 1,033p |
데이터 베이스 | MySQL로 배우는 데이터베이스 개론과 실습 | ![]() | 572p |
ex) 해시 충돌 에 대해 아는 대로 말해보세요
- 흔한 답변 : 2가지 해결방법
- 심화 답변 : 추가적으로,
Java
의hashmap
은 해시 충돌을 해결하기 위해chaining 방식
을 사용하고 내부적으로collision
이 8개 이상 생기는 순간 자료구조를 단순Linked List
에서Red Black Tree
로 변경합니다. 그리고 다시Collision
개수가 6개 이하가 되는 순간Linked List
로 변경합니다.
[프로젝트]
CRUD
프로젝트가 의미가 있을까 라는 의문에 차별화를 두기 위한 심화 프로젝트를 진행함실시간 통신
, 문자 채팅
이 들어간 서비스를 약 8개월간 개발하며 많은 것들을 배움시스템 다중화
와 같은 장애에 대처할 수 있는 기술을 도입했고, 테스트 커버리지
를 올리면서 안정적인 시스템을 만들기 위해 노력했음[면접]
BE
개발을 주로 했음에도 네이버 최종 면접에서 FE
관련된 질문이 있었는데, 솔직하게 잘 모른다고 하고 아는 것들을 잘 조합해서 말했음[스펙]
코테는 5문제 중 3.5솔, 합격 커트라인 정도 된다고 생각함
면접의 80% 질문은 CS
, 어디까지 깊이 알고 있는지를 검증하는 방식의 질문이 들어옴
[알고리즘 - 피보나치 수열을 구현하는 방법]
1. 재귀
2. Top - Down DP
3. Bottom - Top DP
4. No DP, 반복
-> 다양하게 풀어보면서 감각을 익혔음
[인성면접 대비]
자소서 : 저는 4년동안 동아리에서 간부를 맡으며 신입기수들 대상으로 코딩에 대한 스터디나 세션을 주도적으로 진행했습니다.
=> 나는 누군가에게 아는 것을 공유하면서 어떠한 성취감을 얻는 사람이구나
나 혼자만의 성장이 아닌, 팀원 전체의 성장을 이끄는 사람으로 당사발전에 기여할 수 있는 사람이 될 수 있도록 목표를 가짐
내가 다른사람을 가르칠 때 가장 힘들었던점?
해결하기 위해 어떤 노력들?
[기술 면접 대비 시나리오 - 2]
자소서 : 나는 ~ 프로젝트에서 Spring Cloud
를 이용하여 마이크로서비스 아키텍쳐
중심의 설계를 해 많은 사용자들의 요청을 효율적으로 처리할 수 있는 서버 제작에 기여했다 라는 방식으로 서술
마이크로 서비스 아키텍쳐
가 무엇인가Spring Cloud
의 내부구조 동작방식이 어떻게 되는지 알고 있나- 실제 기존의
Load Balancing
을 사용하는 것보다Service Discovery 패턴
을 사용하면 어떤 장점이 있는가- 방금 대답한
Circuit Breaker
,Fallback
,Bulk head
장애 처리 패턴에 대해 설명Spring Cloud Hystrix
에서Bulk Head
는 어떤 방식을 제공하는가 (Thread
,Semaphore
)- 2가지 방식에 대한 장단점 및 내부구조에 대해 이해하고 있는가
본인이 사용했던 프로젝트 기술에 대해서 얼마나 정확히 알고 활용할 수 있나 라는 것이 핵심 포인트
프로젝트는 내가 사용한 기술의 내부동작이 어떻게 이루어지고, 이것을 내가 맡은 프로젝트에서 위 기술을 사용해 기존 기술에 비해 얼마만큼의 장점, 혹은 성능향상이 이루어졌는지에 대해 확실히 알아야함
[기술 면접 대비 시나리오 - 3]
자소서 : 나는 네트워크 공부를 열심히 해서 학점이 좋게 나왔다라는 식으로 서술
OSI 7계층
과TCP/IP 5계층
을 설명하라TCP/IP
는OSI 7계층
에 비해 2개의 계층이 없는데 이러한 이유를 설명하라TCP
는3-way handshaking
을 이용하여 연결하고4-way handshaking
을 이용해 연결을 해제하는데 이러한 기법을 사용하는 이유와 각 과정을 설명하라3-way handshaking
은 왜3-way
로 이루어지는지,2-way
로는 불가능할지?4-way handshaking
은 왜4-way
로 이루어지는지,3-way
로는 불가능할지?
[스펙]
팁 : 서로 죽일듯이(?) 압박면접 하다보면 면접장에선 떨리지 않음
https://devblog-gusah009.notion.site/gusah009-1f41013097914875a99b6af4134bce9e
[1차 면접]
왜 백엔드 개발자가 되고 싶으세요?
답변 : 프론트, AI, 게임 개발, 백엔드 여러 개발을 모두 해봤고 그 중에서 백엔드 개발이 제일 좋았다
=> 납득하시지 못하는 분위기...(??)
면접관 : 백엔드 프로젝트로 진행한 동아리 홈페이지 리뉴얼 github과 PR을 보여달라, 면접 중간에 갑자기 직접 PR을 하나하나 살펴보시고 커멘트까지 살펴봄
자세한 이야기 - 필독하자