면접 후기
13군데 면접을 봤다.
면접을 보면서 알게 된 점 자바/스프링을 쓰는 회사는 보통 자바/스프링을 위주로 질문하고, 다른 기술 스택을 쓰는 회사는 주로 웹 지식 / 데이터 베이스 등을 질문했다.
느낀 점
1. 면접은 복불복, 운에 달렸다. 면접관이 아는 것을 질문하고, 잘 대답하게 되고, 모르는 질문을 연달아 하면 면접을 잘 못 본 것처럼 된다.
그리고 면접관들과의 궁합이 되게 중요하다. 질문에 대한 대답들을 괜찮게 대답했다고 생각해도 면접관들과 통하는 느낌이 없으면 결과가 안 좋은 경우가 있었다.
특히, 한번은 면접관이 3명 있었는데, 1명과는 합이 괜찮았는데, 나머지 2명은 잘 맞는다는 느낌은 안 들었다. 결과는 떨어졌다. 여러 이유가 있었겠지만, 나머지 2명과 합이 안 맞은 것도 한 몫했지 않을까 싶다.
궁합 / 케미는 꾸밀 수가 없다. 맞으면 맞고, 안 맞으면 안 맞다. 이런 거에 대해서 속상할 필요 없다. 안 맞는 사람들과 일하는 것만큼 곤혹스러운 것도 없다.
2. 지원할 수 있는 회사는 정말 많다. 에전에는 갈 수 있는 대기업이 한정 되어서 경쟁률이 박 터졌지만, 지금은 꼭 대기업만 가야 하는 것도 아니기 때문에 (대기업을 가야 하는 사람도 있겠지만), 갈 수 있는 회사는 정말 많다. 그러니 한 회사 떨어졌다고 낙담할 필요가 없다. 회사 떨어지면, 그냥 자기랑 안 맞은 회사다. 자존감 떨어지고 말고 할 것 없다. 다른 회사 또 찾으면 된다. 또 지원하면 된다.
3. 준비가 된 후 지원한다는 생각을 한게 잘못이었다. 부트캠프가 끝나고 부족하다고 판단해서, 준비를 어느정도 하고 회사를 지원해야지 라고 마음 먹었다. 현명하지 못한 판단이었다. 공부하는 도중에도 중간 중간에 계속 회사 지원을 하는 것이 훨씬 나았을 것이다. 회사를 지원하면서 이력서도 더 보완하게 되었고, 면접도 더 준비할 수 있게 되었다. 회사 지원 / 면접은 시험과 비슷하다. 해봐야지, 겪어봐야지 자신이 무엇이 부족한지 보인다.
중간 중간에 회사를 지원하면서 부족한 점을 계속 채워나가는 것이다. 이 방법은 썼으면 훨씬 더 준비를 잘 했을 것 같다. 이 글을 보는 사람은 이 방법을 시도해보는 것도 괜찮다고 생각한다.
4. 세상에 다양한 사람들이 있는 만큼 면접관들도 다양하다. 무례한 면접관들도 봤고, 인간적으로 대해주는 면접관들도 봤다. 기술적인 대답을 못해도 인성적인 장점을 최대한 끌어내주는 사람도 봤다. 무례한 면접관들은 지원자도 예의를 안 차려도 된다고 생각한다. 회사 입장에서는 그냥 한 지원자이지만, 지원자 입장에서는 자신의 인생인데, 자신의 인생을 소중히 생각했으면 좋겠다.
5. 웬만하면 대면 면접을 하라고 권하고 싶다. 비대면 면접은 상대방의 에너지를 확인하기 쉽지 않다. 신입 입장에서 열정이 중요하다. 열정은 대면일 수록 더 잘 느껴진다고 생각한다. 대면 면접을 권장한다.
6. 코딩테스트. 코테를 준비 했지만, 실제 회사를 지원할 때는 코테를 안 보는 회사 위주로 했다. 그런데 막상 코테를 받아보니 풀만했다. 네카라쿠배 급이 아닌 코테는 볼만한 것 같다. 그러니 쫄지 말고 코테를 꾸준히하고, 코테 보는 회사 가는 것을 추천한다.
7. 코테가 다가 아니다. 코테를 합격하고, 면접에서 떨어질 수 있다.
8. 희망을 가져라.
9. 신입이면 "김영한님" 강의 한 바퀴만 들어도 괜찮은 곳 취업 할 것으로 예상한다.
-
- 자기 배경 소개.
- 프로젝트에 대한 소개.
- CloudFront 왜 썼는지.
- AWS DB 돈 많이 나오지 않았는지?
- 학원에서 나오는 신입은 다 비슷하다. 태도를 보려고 하는 것이다.
- 자바 vs 파이썬, 무슨 프로그래밍이 본인한테 맞는지?
- 갈등, 힘들었던 점, 리더십에 대해서 질문.
- 배포 과정 칠판에 그리기.
- Docker 이야기
- 쿠버네티스
- 쇼핑몰 ERD 그리기
- Dictionary, List, Set. 차이.
- MongoDB, MySQL 차이
- Rest API
- 리팩토링 경험
- 자기 소개
- 언제부터 개발 시작했는지?
- 개발하면서 힘들었던 점
- 공부 습관, 어떻게 하는지?
- Lamda, Stream.
- 동적 쿼리
- 리팩토링
- functional interface
- 카카오 코테 2019, 2020 레벨 1
- DB
- SQL vs NoSQL
- NoSQL
- SQL
- 정규화
- NoSQL은 정규화가 가능한지?
- Replication
- Sharding
- Java
- Threading
- 스프링
- 스프링을 쓰는 이유
- n + 1문제 해결
- n + 1인 뭔지
- EntityGraph를 어떻게 써서 해결했는지
- 무중단 배포가 무엇인지
- 프론트. HTML / CSS / JavaScript Rendering이 어떻게 되는지. DOM 설명과 같이.
- 도커에 대해서 설명
- 쿠버네티스에 대해서 설명
- LinkedList 설명
- 다형성이 뭔지
- SOLID 원칙이 뭔지
- 파이썬과 자바의 차이
- Stack, Queue 차이
- 비전공자인데, 컴공 지식에 대한 부족함은 안 느끼는지? 그리고 어떻게 메꿀 것인지?
- 컨트롤러 역할
- 필터 vs 인터셉터
- Elastic Beanstalk 구성
- 서버가 요청이 들어오면 어떻게 되는지
- 프로젝트 AWS 구성
- 트랜잭션
- n + 1 쿼리
- 클래스: 객체 설계도
- 객체(인스턴스): 클래스의 인스턴스. 클래스로 생성한 실제 객체.
- 싱글턴 패턴
- 자바 오버로딩 vs 오버라이딩
- 자바 추상 클래스 vs Interface
- 필터 vs 인터셉터
- 빈 주기 (스코프)
- 객체지향 프로그래밍
- SOLID 원칙
- 제네릭
- 자바 메모리
- 스택과 큐 차이
- 함수를 여러번 호출 했을 때, 스택과 큐 중 어떤 것이 쓰이는지? (정답 스택)
- XSS
- CSR, SSR
- 플라스크, 장고, FAST API 차이
- 쿠버네티스는 왜 쓰는지?
- Bean에 대해서 설명
- PathVariable과 RequestParam의 차이
- HTTP Method
- 컬렉션 프레임워크
- JVM
- 파이썬과 자바 중 어디가 마음에 드는지?
- HTTP vs HTTPS
- JPA 왜 쓰는지?
- JPA 단점, 불편한 점
- JPA의 장점
- JPA n + 1 문제
- Dependency Injection
- Lombok을 쓰는 이유
- 어노테이션의 종류
- DTO와 VO의 차이
- DTO를 사용하는 이유
- HATEOAS를 왜 사용 했는지?
- Map, Set, List 차이