슬기로운개발생활

2020 프로그래머스 Dev-Matching 당근마켓 면접후기 본문

Career

2020 프로그래머스 Dev-Matching 당근마켓 면접후기

슬기로운개발자 2020. 5. 17. 17:02

기술스택에 Java & Spring이 있고, 인턴경험에 관한 사항도 그 쪽이라 열심히 준비했는데 ㅠㅠㅠ아직 너무 부족하다는 것을 너무 많이 느낀 면접이였다.


역시나 면접에서는 전혀 예상하지 못한 질문들이 나왔다...

1. ElasticSearch의 키워드 검색과 RDBMS에서 %LIKE% 검색의 차이점

- 후자는 무엇인지 알지만, ElasticSearch를 사용해보지 않아 둘의 차이를 말할 수가 없었다. ㅠㅠㅠㅠㅠㅠ


2. RDBMS에서 INDEX가 어떻게 구성되어 있는지?

- 이것도 대답을 제대로 하지못했다...기본적으로 Primary Key를 기준으로 index가 구성되어 있고, 자료구조는 B-트리를 사용하여 구성하는 것이라고 검색하니 나왔다...


3. Java에서 Mutable vs Immutable 객체의 차이점

- 해당 질문에 대해서는 답변을 잘했다고 피드백을 받았다. 대표적으로 String객체와 StringBuffer 객체에 대해 답변을 했고, String객체에서 + 연산을 하면 어떻게 메모리에 할당되는지에 대해서도 꼬리질문을 받았다.


4. 주로 Java 무슨 버전 쓰는지? Java8에서 새로 추가된 것들은 어떤 것이 있는지?

- Lambda 표현식이 추가된 것과 다른 하나는 기억이 나지않아 대답하지 못하였다. 그래서 면접이 끝난 후 면접관분께 나머지 하나가 무엇이였는지 여쭤봤다. Stream API 였따.....물어보고 난 후 창피함이 몰려왔다...(물어보지 말고 끝나고 따로 찾아볼걸 그랬다...)

찾아보니 java.time 패키지와 Nashorn(자바스크립트의 새로운 엔진) 이라는 것도 추가되었다고 한다.


5. 클라이언트의 요청이 들어올때마다 Thread가 생성되고 Controller에 요청을 할텐데 어떻게 1개의 Controller만으로 요청들을 다 처리할 수 있는지? (Singleton 에 대해 여쭤보신 것 같았다.)

- 서버가 실행되고 Controller는 Spring Beans에 담겨있어 Client Thread의 요청이 들어오면 Controller객체를 새로 생성하지 않고 Spring Beans Container에서 꺼내쓰는 구조라고 대답했던 것 같다. 


몇 개가 더 있었던 것 같지만 일주일 정도 가량 지나고 포스팅하는 글이라 기억이 나지 않는다. ㅠㅠㅠ

(면접과 관련된 내용을 공개하지 말라는 안내는 없었지만 추후 문제가 있으면 질문내용은 내리도록 하겠습니다.)

여하튼 구글링 하면서 백엔드 관련 면접 질문들을 찾아보고 그에 대한 답변을 스스로 준비했지만 면접에서는 예상하지 못한 질문이 나올 수도 있으니 깊이 있게 다시 한번 준비해봐야겠다.!!!


Comments