# 내가 면접관이면 물어보고 싶은 질문들
DSA
---
- **Linked List**
- Double Linked List를 사용하지 않고 Singly Linked List로 ???? (two pointer technique)
- **Stack & Queue**
- Queue를 Stack으로 구현해보세요
- https://leetcode.com/problems/implement-queue-using-stacks/
- Stack을 Queue로 구현해보세요
- 괄호 짝 맞추기 문제
- https://leetcode.com/problems/valid-parentheses/
- **DFS & BFS**
- DFS 로 Stack이 아니라 Queue로 구현해보세요
- DFS 를 BFS 로 구현해보세요
- 솔루션: DFS 를 하면서 level을 저장하고, 최종적으로 level 별로 출력함
- **String**
- 주어진 String에 대해서 Longest Common Sequence를 구해보세요
- **Dynamic Programming**
- ?
- **아이디어**
- A라는 함수는 1~8을 같은 확률로 반환할 때, 1~6을 같은 확률로 반환하는 B 함수를 만들기 위해서는 어떻게 할까?
- 솔루션: 7,8을 그냥 무시하면 됨. 그래도 1~6이 나오는 확률은 일정함.
Python
---
- generator, iterator, iterable의 차이
- deque vs list의 차이
- Linked List와 Array의 차이
- 파이썬의 메모리 관리 (GC) 는 어떻게 동작하는가?
- GIL (Global Interpreter Lock)
- 파이썬에서 threading을 어떻게 사용하고 있나?
- GIL과 multiprocessing
- 파이썬에서 built-in 으로 제공하고 있는 자료구조와 collections 로 제공하고 있는 자료구조의 차이
- Pass by Reference 와 Pass by Value가 파이썬에서는 어떻게 사용되고 있나?
- regex 사용법에 대해서
> 답은 [여기](/S1yb-Ybcc) 참고
프로젝트
---
- 당신은 어떤 main skill을 갖고 있나?
- System architecture (Nginx, Gunicorn, Django, Database)
- Python server programming (Django REST API, ORM)
- a bit of GUI and CLI programming
- DevOps (Github and Jenkins) and MLOps (Model deployment with REST API, in-memory machine learning models)
- Database management (Oracle, MongoDB)
- Application of Machine Learning (Reinforcement Learning and Clustering)
- 가장 인상깊은 프로젝트 하나 말해보세요
- 프로젝트를 하면서 가장 어려웠던 점과 이것을 해결했던 경험
- 사내 프로젝트 외에 토이 프로젝트에 대한 내용
- 앞으로 어떤 career path를 타고 싶나