- 배열과 링크드 리스트의 차이를 설명해주세요.
- List와 Set의 차이에 대해서 설명해주세요.
- Hash Function, HashTable에 대해서 설명해주세요.
- Stack, Queue에 대해서 설명해주세요.
- Heap, Priority Queue에 대해서 설명해주세요.
- Tree, Binary Tree, BST, AVL Tree에 대해서 설명해주세요.
- BST의 최악의 경우의 예와 시간복잡도에 대해서 설명해주세요.
- 피보나치 수열을 코드로 구현하는 방법에 대해서 설명해주세요.
- 이진탐색을 코드로 구현하고 설명해주세요.
- DFS, BFS에 대해서 설명해주세요.
- 지금 사용하시는 스마트폰의 화면을 캡쳐하는 프로그램을 만들어야 한다면 어떻게 하시겠습니까?
- 전화번호와 같은 민감한 정보를 어떻게 저장하는게 좋을까요? 관리자조차 모르게 저장하고 싶다면?
- 암호화란 무엇일까요? 알고 계신 암호화 방식 아무거나 하나만 설명해주세요.
- 어떤 알고리즘을 도입하기 전에, 성능을 판별해 보고자 합니다. 어떤 방법을 활용해, 어떤 기준으로 알고리즘의 효율을 판단하시겠습니까?
- 공개 키 암호화와 비밀 키 암호화에 대해 설명해주세요.
- 캡슐화에 대해 설명해주세요.
- 캐시란 뭐고, 어떤 목적으로 쓰는 건가요?
- List 와 Set 의 차이에 대해 설명해주세요.
- 이진 탐색의 최선 / 최악의 경우에 대해 말씀해주세요.
- 손실 압축과 무손실 압축의 차이에 대해 설명해주세요.
- RSA 로 공개 키를 만들 때, 키 길이를 정하는 기준이 있습니까? 키 길이를 길게 하면 암호화 문제를 완벽 해결할 수 있나요?
- 순환 Queue 를 만드려면 어떻게 하시겠습니까? 그리고 어떤 Queue 또는 Graph 가 무한 순환 구조라는 것을 어떻게 판단하시겠습니까?
- 압축 알고리즘을 설계하라는 요구사항이 들어왔다면, 어떻게 구현하시겠습니까?
- 전화번호부 앱을 만든다고 가정하겠습니다. 1명당 1KiB의 정보를 갖도록 모델을 설계했습니다. 앱이 온전히 사용할 수 있는 메모리가 4메가인 기기에서, 10000명(총 10메가)의 이용자 정보를 검색할 수 있도록 구현해야 합니다. 어떻게 하시겠습니까?
- (JVM 경험자 한정) 배열과 ArrayList, LinkedList 의 차이점은 무엇인가요?