내가 너무 회사를 낮게 본 건지는 모르겠는데
스프링부트 쓴다길래
그쪽 자료들 보고 면접들어갔는데
기술면접이 좀 신기했음
- OOP가 무엇인가요? (정상)
- 알고리즘 아는 거 대보세요 (정?상)
- 이분탐색 알고리즘 설명해보세요 (정상)
- SQL 조인 쭉 나열하시고, 차이점 설명해보세요
- SQL에서 프로시저와 함수는 무엇이고, 둘의 차이를 설명해보세요
이러고 기술면접 끝나는가 싶었는데..
- Java의 Arraylist.add(elem)의 시간복잡도는 어떻게 되고, 그 이유는 무엇인가요
갑자기 연배 좀 있는 사람이 이걸 물어보더라
알고리즘 공부를 코딱지만큼 하긴 해서
최고 O(1) 최악 O(n) 평균 O(1) 인걸 알기는 하는데...
이게 맞나?
심지어 백엔드 로직이나 네트워크 관련 질문은 묻지도 않음
쌩신입이면 프레임워크 안물어볼수도 있음ㅋㅋ 근데 난 알고리즘 아는거 대보라는게 웃긴데
글게 그게 뭐냐 뭘 애게해야될지 모르갯음 ;;
난 그냥 정렬 쭉 나열한 다음에 이분탐색 다익스트라 플로이드 대고 끝냄
시간복잡도 질문 가끔나옴. 그냥 어래이리스트 링크드리스크 셋의 get add remove 각각 시간복잡도 차이장도만 알면될듯
어레이리스크는 get은 01 add remove 는 0n 겟은 빠르고 추가 삭제는 느리다.
궁금해서 Openjdk기준으로 구현체까봤는데 최악은 O(N)이고 보통은 O(1)이네 O(N)케이스는 capacity넘어갈 때 array복사하는거있드라
이거보니까 자료구조 정리할필요가있네 자바는 특히 추상화 시켜놔서 구현체에 관심을 안가졌었네 ㅋㅋㅋ
알고리즘이 아니라 자료구조임
원래 가끔 나오는 기출임
아맞네 알고리즘 공부할때 자료구조를 같이 공부해서 퉁쳐서 얘기해버림
이상한 질문은 없어보이는데요