ai-tech-interview
๐ฉโ๐ป๐จโ๐ป AI ์์ง๋์ด ๊ธฐ์ ๋ฉด์ ์คํฐ๋ (โญ๏ธ 1k+)
Stars: 1829
This repository contains a collection of interview questions related to various topics such as statistics, machine learning, deep learning, Python, networking, operating systems, data structures, and algorithms. The questions cover a wide range of concepts and are suitable for individuals preparing for technical interviews in the field of artificial intelligence and data science.
README:
[!WARNING]
PR ์์ฒญ ์ ์์ฑ ๊ท์น์ ์ค์ํด์ฃผ์ธ์. ์ค์ํ์ง ์์ ์ ํด๋น PR์ ๊ฑฐ์ ๋ ์ ์์ต๋๋ค.
- ํผ๋๋ฐฑ์ Pull Request๋ฅผ ํตํ ํผ๋๋ฐฑ ์์ฒญ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ์ฌ Pull Request๋ก ๋ณด๋ด์ฃผ์ธ์.
- Pull Request ์์ฑ ๊ท์น์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
- GitHub ์ธ์ GitBook ์ฌ์ดํธ๋ก๋ ๋ณด์ค ์ ์์ต๋๋ค.
-
ํ์ง๋ง Latex ๋ฌธ๋ฒ์ด ๋ฌ๋ผ ๋ค๋ฅธ ์น์ฌ์ดํธ๋ก ๋ง์ด๊ทธ๋ ์ด์ ์์ ์ ๋๋ค.์๊ฐ๋ ๋ ๋ง์ด๊ทธ๋ ์ด์ ์์ ์ ๋๋ค..๐ฅฒ
-
- ๊ถ๊ธํ ์ ์ด ์๊ฑฐ๋ ๊ณต์ ํ๊ณ ์ถ์ ํ์ด ์์ผ์๋ฉด Discussion์ ํ์ฉํด์ฃผ์ธ์.
- ์ปค๋ฎค๋ํฐ ํ์ฑํ๋ ์ธ์ ๋ ์ง ํ์์ ๋๋ค!
- ๋ฉด์ ๋ ํฌ ๊ฐ์ ํ๋ก์ ํธ ์งํ ์ํฉ์ ์ฌ๊ธฐ๋ฅผ ํ์ธํด์ฃผ์ธ์.
- ๊ณต์ง์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์งํ์ด ๋๋ ์ ์์ต๋๋ค.
๐ ํต๊ณ/์ํ
- ๊ณ ์ ๊ฐ(eigen value)์ ๊ณ ์ ๋ฒกํฐ(eigen vector)์ด ๋ฌด์์ด๊ณ ์ ์ค์ํ์ง ์ค๋ช ํด์ฃผ์ธ์.
- ์ํ๋ง(Sampling)๊ณผ ๋ฆฌ์ํ๋ง(Resampling)์ด ๋ฌด์์ด๊ณ ๋ฆฌ์ํ๋ง์ ์ฅ์ ์ ๋ง์ํด์ฃผ์ธ์.
- ํ๋ฅ ๋ชจํ๊ณผ ํ๋ฅ ๋ณ์๋ ๋ฌด์์ธ๊ฐ์?
- ๋์ ๋ถํฌ ํจ์์ ํ๋ฅ ๋ฐ๋ ํจ์๋ ๋ฌด์์ธ๊ฐ์? ์์๊ณผ ํจ๊ป ํํํด์ฃผ์ธ์.
- ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ๋ฌด์์ธ๊ฐ์?
- ๊ณต๋ถ์ฐ๊ณผ ์๊ด๊ณ์๋ ๋ฌด์์ผ๊น์? ์์๊ณผ ํจ๊ป ํํํด์ฃผ์ธ์.
- ์ ๋ขฐ ๊ตฌ๊ฐ์ ์ ์๋ ๋ฌด์์ธ๊ฐ์?
- p-value๋ฅผ ๋ชจ๋ฅด๋ ์ฌ๋์๊ฒ ์ค๋ช ํ๋ค๋ฉด ์ด๋ป๊ฒ ์ค๋ช ํ์ค ๊ฑด๊ฐ์?
- R square์ ์๋ฏธ๋ ๋ฌด์์ธ๊ฐ์?
- ํ๊ท (mean)๊ณผ ์ค์๊ฐ(median)์ค์ ์ด๋ค ์ผ์ด์ค์์ ๋ญ๋ฅผ ์จ์ผํ ๊น์?
- ์ค์ฌ๊ทนํ์ ๋ฆฌ๋ ์ ์ ์ฉํ๊ฑธ๊น์?
- ์ํธ๋กํผ(entropy)์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. ๊ฐ๋ฅํ๋ฉด Information Gain๋์.
- ์ด๋จ ๋ ๋ชจ์์ ๋ฐฉ๋ฒ๋ก ์ ์ธ ์ ์๊ณ , ์ด๋จ ๋ ๋น๋ชจ์์ ๋ฐฉ๋ฒ๋ก ์ ์ธ ์ ์๋์?
- โlikelihoodโ์ โprobabilityโ์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น์?
- ํต๊ณ์์ ์ฌ์ฉ๋๋ bootstrap์ ์๋ฏธ๋ ๋ฌด์์ธ๊ฐ์.
- ๋ชจ์๊ฐ ๋งค์ฐ ์ ์ (์์ญ๊ฐ ์ดํ) ์ผ์ด์ค์ ๊ฒฝ์ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ์์ธก ๋ชจ๋ธ์ ์๋ฆฝํ ์ ์์๊น์?
- ๋ฒ ์ด์ง์๊ณผ ํ๋ฆฌํํฐ์คํธ ๊ฐ์ ์ ์ฅ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ค ์ ์๋์?
- ๊ฒ์ ๋ ฅ(statistical power)์ ๋ฌด์์ผ๊น์?
- missing value๊ฐ ์์ ๊ฒฝ์ฐ ์ฑ์์ผ ํ ๊น์? ๊ทธ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
- ์์๋ผ์ด์ด์ ํ๋จํ๋ ๊ธฐ์ค์ ๋ฌด์์ธ๊ฐ์?
- ํ์ํ ํ๋ณธ์ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ๊ณ์ฐํฉ๋๊น?
- Bias๋ฅผ ํต์ ํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
- ๋ก๊ทธ ํจ์๋ ์ด๋ค ๊ฒฝ์ฐ ์ ์ฉํฉ๋๊น? ์ฌ๋ก๋ฅผ ๋ค์ด ์ค๋ช ํด์ฃผ์ธ์.
- ๋ฒ ๋ฅด๋์ด ๋ถํฌ / ์ดํญ ๋ถํฌ / ์นดํ ๊ณ ๋ฆฌ ๋ถํฌ / ๋คํญ ๋ถํฌ / ๊ฐ์ฐ์์ ์ ๊ท ๋ถํฌ / t ๋ถํฌ / ์นด์ด์ ๊ณฑ ๋ถํฌ / F ๋ถํฌ / ๋ฒ ํ ๋ถํฌ / ๊ฐ๋ง ๋ถํฌ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋ถํฌ ๊ฐ์ ์ฐ๊ด์ฑ๋ ์ค๋ช ํด์ฃผ์ธ์.
- ์ถ์ฅ์ ์ํด ๋นํ๊ธฐ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๋น์ ์ ์ฐ์ฐ์ ๊ฐ์ ธ๊ฐ์ผ ํ๋์ง ์๊ณ ์ถ์ด ์ถ์ฅ์ง์ ์ฌ๋ ์น๊ตฌ 3๋ช ์๊ฒ ๋ฌด์์๋ก ์ ํ๋ฅผ ํ๊ณ ๋น๊ฐ ์ค๋ ๊ฒฝ์ฐ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ง๋ฌธํด์ฃผ์ธ์. ๊ฐ ์น๊ตฌ๋ 2/3๋ก ์ง์ค์ ๋งํ๊ณ 1/3์ผ๋ก ๊ฑฐ์ง์ ๋งํฉ๋๋ค. 3๋ช ์ ์น๊ตฌ๊ฐ ๋ชจ๋ โ๊ทธ๋ ์ต๋๋ค. ๋น๊ฐ ๋ด๋ฆฌ๊ณ ์์ต๋๋คโ๋ผ๊ณ ๋งํ์ต๋๋ค. ์ค์ ๋ก ๋น๊ฐ ๋ด๋ฆด ํ๋ฅ ์ ์ผ๋ง์ ๋๊น?
๐ค ๋จธ์ ๋ฌ๋
- ์๊ณ ์๋ metric์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. (ex. RMSE, MAE, recall, precision ...)
- ์ ๊ทํ๋ฅผ ์ ํด์ผํ ๊น์? ์ ๊ทํ์ ๋ฐฉ๋ฒ์ ๋ฌด์์ด ์๋์?
- Local Minima์ Global Minimum์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ์ฐจ์์ ์ ์ฃผ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- dimension reduction๊ธฐ๋ฒ์ผ๋ก ๋ณดํต ์ด๋ค ๊ฒ๋ค์ด ์๋์?
- PCA๋ ์ฐจ์ ์ถ์ ๊ธฐ๋ฒ์ด๋ฉด์, ๋ฐ์ดํฐ ์์ถ ๊ธฐ๋ฒ์ด๊ธฐ๋ ํ๊ณ , ๋ ธ์ด์ฆ ์ ๊ฑฐ๊ธฐ๋ฒ์ด๊ธฐ๋ ํฉ๋๋ค. ์ ๊ทธ๋ฐ์ง ์ค๋ช ํด์ฃผ์ค ์ ์๋์?
- LSA, LDA, SVD ๋ฑ์ ์ฝ์๋ค์ด ์ด๋ค ๋ป์ด๊ณ ์๋ก ์ด๋ค ๊ด๊ณ๋ฅผ ๊ฐ์ง๋์ง ์ค๋ช ํ ์ ์๋์?
- Markov Chain์ ๊ณ ๋ฑํ์์๊ฒ ์ค๋ช ํ๋ ค๋ฉด ์ด๋ค ๋ฐฉ์์ด ์ ์ผ ์ข์๊น์?
- ํ ์คํธ ๋๋ฏธ์์ ์ฃผ์ ๋ฅผ ์ถ์ถํด์ผ ํฉ๋๋ค. ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ๊ทผํด ๋๊ฐ์๊ฒ ๋์?
- SVM์ ์ ๋ฐ๋๋ก ์ฐจ์์ ํ์ฅ์ํค๋ ๋ฐฉ์์ผ๋ก ๋์ํ ๊น์? SVM์ ์ ์ข์๊น์?
- ๋ค๋ฅธ ์ข์ ๋จธ์ ๋ฌ๋ ๋๋น, ์ค๋๋ ๊ธฐ๋ฒ์ธ ๋์ด๋ธ ๋ฒ ์ด์ฆ(naive bayes)์ ์ฅ์ ์ ์นํธํด๋ณด์ธ์.
- ํ๊ท / ๋ถ๋ฅ์ ์๋ง์ metric์ ๋ฌด์์ผ๊น?
- Association Rule์ Support, Confidence, Lift์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ์ต์ ํ ๊ธฐ๋ฒ์ค Newtonโs Method์ Gradient Descent ๋ฐฉ๋ฒ์ ๋ํด ์๊ณ ์๋์?
- ๋จธ์ ๋ฌ๋(machine)์ ์ ๊ทผ๋ฐฉ๋ฒ๊ณผ ํต๊ณ(statistics)์ ์ ๊ทผ๋ฐฉ๋ฒ์ ๋๊ฐ์ ์ฐจ์ด์ ๋ํ ๊ฒฌํด๊ฐ ์๋์?
- ์ธ๊ณต์ ๊ฒฝ๋ง(deep learning์ด์ ์ ์ ํต์ ์ธ)์ด ๊ฐ์ง๋ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ์ ๋ฌด์์ผ๊น์?
- ์ง๊ธ ๋์ค๊ณ ์๋ deep learning ๊ณ์ด์ ํ์ ์ ๊ทผ๊ฐ์ ๋ฌด์์ด๋ผ๊ณ ์๊ฐํ์๋์?
- ROC ์ปค๋ธ์ ๋ํด ์ค๋ช ํด์ฃผ์ค ์ ์์ผ์ ๊ฐ์?
- ์ฌ๋ฌ๋ถ์ด ์๋ฒ๋ฅผ 100๋ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ ์ธ๊ณต์ ๊ฒฝ๋ง๋ณด๋ค Random Forest๋ฅผ ์จ์ผํ๋ ์ด์ ๋ ๋ญ๊น์?
- K-means์ ๋ํ์ ์๋ฏธ๋ก ์ ๋จ์ ์ ๋ฌด์์ธ๊ฐ์? (๊ณ์ฐ๋ ๋ง๋ค๋๊ฒ ๋ง๊ณ )
- L1, L2 ์ ๊ทํ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- Cross Validation์ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ํด์ผํ๋์?
- XGBoost์ ์์๋์? ์ ์ด ๋ชจ๋ธ์ด ์บ๊ธ์์ ์ ๋ช ํ ๊น์?
- ์์๋ธ ๋ฐฉ๋ฒ์ ์ด๋ค ๊ฒ๋ค์ด ์๋์?
- feature vector๋ ๋ฌด์์ผ๊น์?
- ์ข์ ๋ชจ๋ธ์ ์ ์๋ ๋ฌด์์ผ๊น์?
- 50๊ฐ์ ์์ ์์ฌ๊ฒฐ์ ๋๋ฌด๋ ํฐ ์์ฌ๊ฒฐ์ ๋๋ฌด๋ณด๋ค ๊ด์ฐฎ์๊น์? ์ ๊ทธ๋ ๊ฒ ์๊ฐํ๋์?
- ์คํธ ํํฐ์ ๋ก์ง์คํฑ ๋ฆฌ๊ทธ๋ ์ ์ ๋ง์ด ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
- OLS(ordinary least squre) regression์ ๊ณต์์ ๋ฌด์์ธ๊ฐ์?
๐ง ๋ฅ๋ฌ๋
- ๋ฅ๋ฌ๋์ ๋ฌด์์ธ๊ฐ์? ๋ฅ๋ฌ๋๊ณผ ๋จธ์ ๋ฌ๋์ ์ฐจ์ด๋?
- Cost Function๊ณผ Activation Function์ ๋ฌด์์ธ๊ฐ์?
- Tensorflow, PyTorch ํน์ง๊ณผ ์ฐจ์ด๊ฐ ๋ญ๊น์?
- Data Normalization์ ๋ฌด์์ด๊ณ ์ ํ์ํ๊ฐ์?
- ์๊ณ ์๋ Activation Function์ ๋ํด ์๋ ค์ฃผ์ธ์. (Sigmoid, ReLU, LeakyReLU, Tanh ๋ฑ)
- ์ค๋ฒํผํ ์ผ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋์ฒํด์ผ ํ ๊น์?
- ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ ๋ฌด์์ธ๊ฐ์?
- Weight Initialization ๋ฐฉ๋ฒ์ ๋ํด ๋งํด์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋ฌด์์ ๋ง์ด ์ฌ์ฉํ๋์?
- ๋ณผ์ธ ๋ง ๋จธ์ ์ ๋ฌด์์ธ๊ฐ์?
- TF, PyTorch ๋ฑ์ ์ฌ์ฉํ ๋ ๋๋ฒ๊น ๋ ธํ์ฐ๋?
- ๋ด๋ด๋ท์ ๊ฐ์ฅ ํฐ ๋จ์ ์ ๋ฌด์์ธ๊ฐ? ์ด๋ฅผ ์ํด ๋์จ One-Shot Learning์ ๋ฌด์์ธ๊ฐ?
- ์์ฆ Sigmoid ๋ณด๋ค ReLU๋ฅผ ๋ง์ด ์ฐ๋๋ฐ ๊ทธ ์ด์ ๋?
- Non-Linearity๋ผ๋ ๋ง์ ์๋ฏธ์ ๊ทธ ํ์์ฑ์?
- ReLU๋ก ์ด๋ป๊ฒ ๊ณก์ ํจ์๋ฅผ ๊ทผ์ฌํ๋?
- ReLU์ ๋ฌธ์ ์ ์?
- Bias๋ ์ ์๋๊ฑธ๊น?
- Gradient Descent์ ๋ํด์ ์ฝ๊ฒ ์ค๋ช
ํ๋ค๋ฉด?
- ์ ๊ผญ Gradient๋ฅผ ์จ์ผ ํ ๊น? ๊ทธ ๊ทธ๋ํ์์ ๊ฐ๋ก์ถ๊ณผ ์ธ๋ก์ถ ๊ฐ๊ฐ์ ๋ฌด์์ธ๊ฐ? ์ค์ ์ํฉ์์๋ ๊ทธ ๊ทธ๋ํ๊ฐ ์ด๋ป๊ฒ ๊ทธ๋ ค์ง๊น?
- GD ์ค์ ๋๋๋ก Loss๊ฐ ์ฆ๊ฐํ๋ ์ด์ ๋?
- Back Propagation์ ๋ํด์ ์ฝ๊ฒ ์ค๋ช ํ๋ค๋ฉด?
- Local Minima ๋ฌธ์ ์๋ ๋ถ๊ตฌํ๊ณ ๋ฅ๋ฌ๋์ด ์ ๋๋ ์ด์ ๋?
- GD๊ฐ Local Minima ๋ฌธ์ ๋ฅผ ํผํ๋ ๋ฐฉ๋ฒ์?
- ์ฐพ์ ํด๊ฐ Global Minimum์ธ์ง ์๋์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์?
- Training ์ธํธ์ Test ์ธํธ๋ฅผ ๋ถ๋ฆฌํ๋ ์ด์ ๋?
- Validation ์ธํธ๊ฐ ๋ฐ๋ก ์๋ ์ด์ ๋?
- Test ์ธํธ๊ฐ ์ค์ผ๋์๋ค๋ ๋ง์ ๋ป์?
- Regularization์ด๋ ๋ฌด์์ธ๊ฐ?
- Batch Normalization์ ํจ๊ณผ๋?
- Dropout์ ํจ๊ณผ๋?
- BN ์ ์ฉํด์ ํ์ต ์ดํ ์ค์ ์ฌ์ฉ์์ ์ฃผ์ํ ์ ์? ์ฝ๋๋ก๋?
- GAN์์ Generator ์ชฝ์๋ BN์ ์ ์ฉํด๋ ๋ ๊น?
- SGD, RMSprop, Adam์ ๋ํด์ ์๋๋๋ก ์ค๋ช
ํ๋ค๋ฉด?
- SGD์์ Stochastic์ ์๋ฏธ๋?
- ๋ฏธ๋๋ฐฐ์น๋ฅผ ์๊ฒ ํ ๋์ ์ฅ๋จ์ ์?
- ๋ชจ๋ฉํ ์ ์์์ ์ ์ด ๋ณธ๋ค๋ฉด?
- ๊ฐ๋จํ MNIST ๋ถ๋ฅ๊ธฐ๋ฅผ MLP+CPU ๋ฒ์ ์ผ๋ก numpy๋ก ๋ง๋ ๋ค๋ฉด ๋ช์ค์ผ๊น?
- ์ด๋ ์ ๋ ๋์๊ฐ๋ ๋ ์์ ์์ฑํ๊ธฐ๊น์ง ๋ช์๊ฐ ์ ๋ ๊ฑธ๋ฆด๊น?
- Back Propagation์ ๋ช์ค์ธ๊ฐ?
- CNN์ผ๋ก ๋ฐ๊พผ๋ค๋ฉด ์ผ๋ง๋ ์ถ๊ฐ๋ ๊น?
- ๊ฐ๋จํ MNIST ๋ถ๋ฅ๊ธฐ๋ฅผ TF, PyTorch ๋ฑ์ผ๋ก ์์ฑํ๋๋ฐ ๋ช์๊ฐ์ด ํ์ํ๊ฐ?
- CNN์ด ์๋ MLP๋ก ํด๋ ์ ๋ ๊น?
- ๋ง์ง๋ง ๋ ์ด์ด ๋ถ๋ถ์ ๋ํด์ ์ค๋ช ํ๋ค๋ฉด?
- ํ์ต์ BCE loss๋ก ํ๋ ์ํฉ์ MSE loss๋ก ๋ณด๊ณ ์ถ๋ค๋ฉด?
- ๋ฅ๋ฌ๋ํ ๋ GPU๋ฅผ ์ฐ๋ฉด ์ข์ ์ด์ ๋?
- GPU๋ฅผ ๋๊ฐ ๋ค ์ฐ๊ณ ์ถ๋ค. ๋ฐฉ๋ฒ์?
- ํ์ต์ ํ์ํ GPU ๋ฉ๋ชจ๋ฆฌ๋ ์ด๋ป๊ฒ ๊ณ์ฐํ๋๊ฐ?
๐ ํ์ด์ฌ
- What is the difference between list and tuples in Python?
- What are the key features of Python?
- What type of language is python? Programming or scripting?
- Python an interpreted language. Explain.
- What is pep 8?
- How is memory managed in Python?
- What is namespace in Python?
- What is PYTHONPATH?
- What are python modules? Name some commonly used built-in modules in Python?
- What are local variables and global variables in Python?
- Is python case sensitive?
- What is type conversion in Python?
- How to install Python on Windows and set path variable?
- Is indentation required in python?
- What is the difference between Python Arrays and lists?
- What are functions in Python?
- What is
__init__? - What is a lambda function?
- What is self in Python?
- How does break, continue and pass work?
- What does
[::-1]do? - How can you randomize the items of a list in place in Python?
- Whatโs the difference between iterator and iterable?
- How can you generate random numbers in Python?
- What is the difference between range & xrange?
- How do you write comments in python?
- What is pickling and unpickling?
- What are the generators in python?
- How will you capitalize the first letter of string?
- How will you convert a string to all lowercase?
- How to comment multiple lines in python?
- What are docstrings in Python?
- What is the purpose of is, not and in operators?
- What is the usage of help() and dir() function in Python?
- Whenever Python exits, why isnโt all the memory de-allocated?
- What is a dictionary in Python?
- How can the ternary operators be used in python?
- What does this mean:
*args,**kwargs? And why would we use it? - What does len() do?
- Explain split(), sub(), subn() methods of โreโ module in Python.
- What are negative indexes and why are they used?
- What are Python packages?
- How can files be deleted in Python?
- What are the built-in types of python?
- What advantages do NumPy arrays offer over (nested) Python lists?
- How to add values to a python array?
- How to remove values to a python array?
- Does Python have OOps concepts?
- What is the difference between deep and shallow copy?
- How is Multithreading achieved in Python?
- What is the process of compilation and linking in python?
- What are Python libraries? Name a few of them.
- What is split used for?
- How to import modules in python?
- Explain Inheritance in Python with an example.
- How are classes created in Python?
- What is monkey patching in Python?
- Does python support multiple inheritance?
- What is Polymorphism in Python?
- Define encapsulation in Python?
- How do you do data abstraction in Python?
- Does python make use of access specifiers?
- How to create an empty class in Python?
- What does an object() do?
- What is map function in Python?
- Is python numpy better than lists?
- What is GIL in Python language?
- What makes the CPython different from Python?
- What are Decorators in Python?
- What is object interning?
- What is @classmethod, @staticmethod, @property?
๐ ๋คํธ์ํฌ
- TCP/IP์ ๊ฐ ๊ณ์ธต์ ์ค๋ช ํด์ฃผ์ธ์.
- OSI 7๊ณ์ธต์ TCP/IP ๊ณ์ธต์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- Frame, Packet, Segment, Datagram์ ๋น๊ตํด์ฃผ์ธ์.
- TCP์ UDP์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- TCP์ UDP์ ํค๋๋ฅผ ๋น๊ตํด์ฃผ์ธ์.
- TCP์ 3-way-handshake์ 4-way-handshake๋ฅผ ๋น๊ต ์ค๋ช ํด์ฃผ์ธ์.
- TCP์ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ (3๋จ๊ณ)๊ณผ ์ฐ๊ฒฐ ์ข ๋ฃ ๊ณผ์ (4๋จ๊ณ)์ด ๋จ๊ณ๊ฐ ์ฐจ์ด๋๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ์?
- ๋ง์ฝ Server์์ FIN ํ๋๊ทธ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ ์กํ ํจํท์ด Routing ์ง์ฐ์ด๋ ํจํท ์ ์ค๋ก ์ธํ ์ฌ์ ์ก ๋ฑ์ผ๋ก ์ธํด FIN ํจํท๋ณด๋ค ๋ฆ๊ฒ ๋์ฐฉํ๋ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
- ์ด๊ธฐ Sequence Number์ธ ISN์ 0๋ถํฐ ์์ํ์ง ์๊ณ ๋์๋ฅผ ์์ฑํด์ ์ค์ ํ๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ์?
- HTTP์ HTTPS์ ๋ํด์ ์ค๋ช ํ๊ณ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- HTTP ์์ฒญ/์๋ต ํค๋์ ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- HTTP์ HTTPS ๋์ ๊ณผ์ ์ ๋น๊ตํด์ฃผ์ธ์.
- CORS๊ฐ ๋ฌด์์ธ๊ฐ์?
- HTTP GET๊ณผ POST ๋ฉ์๋๋ฅผ ๋น๊ต/์ค๋ช ํด์ฃผ์ธ์.
- ์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ์ค๋ช ํด์ฃผ์ธ์.
- DNS๊ฐ ๋ฌด์์ธ๊ฐ์?
- REST์ RESTful์ ๊ฐ๋ ์ ์ค๋ช ํ๊ณ ์ฐจ์ด๋ฅผ ๋งํด์ฃผ์ธ์.
- ์์ผ(Socket)์ด ๋ฌด์์ธ๊ฐ์? ์์ ์๋ ์ธ์ด๋ก ๊ฐ๋จํ ์์ผ ์์ฑ ์์๋ฅผ ๋ณด์ฌ์ฃผ์ธ์.
- Socket.io์ WebSocket์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- IPv4์ IPv6 ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- MAC Address๊ฐ ๋ฌด์์ธ๊ฐ์?
- ๋ผ์ฐํฐ์ ์ค์์น, ํ๋ธ์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- SMTP๊ฐ ๋ฌด์์ธ๊ฐ์?
- ๋
ธํธ๋ถ์ผ๋ก
www.google.com์ ์ ์์ ํ์ต๋๋ค. ์์ฒญ์ ๋ณด๋ด๊ณ ๋ฐ๊ธฐ๊น์ง์ ๊ณผ์ ์ ์์ธํ ์ค๋ช ํด์ฃผ์ธ์. - ์ฌ๋ฌ ๋คํธ์ํฌ topology์ ๋ํด ๊ฐ๋จํ ์๊ฐํด์ฃผ์ธ์.
- subnet mask์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
- data encapsulation์ด ๋ฌด์์ธ๊ฐ์?
- DHCP๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- routing protocol์ ๋ช ๊ฐ์ง ์ค๋ช ํด์ฃผ์ธ์. (ex. link state, distance vector)
- ์ด๋๋ท(ethernet)์ด ๋ฌด์์ธ๊ฐ์?
- client์ server์ ์ฐจ์ด์ ์ ์ค๋ช ํด์ฃผ์ธ์.
- delay, timing(jitter), throughput ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
๐ฅ๏ธ ์ด์์ฒด์
- ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด(Process vs Thread)๋ฅผ ์๋ ค์ฃผ์ธ์.
- ๋ฉํฐ ํ๋ก์ธ์ค ๋์ ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- ์บ์์ ์ง์ญ์ฑ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- Thread-safe์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. (hint: critical section)
- ๋ฎคํ ์ค์ ์ธ๋งํฌ์ด์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- ์ค์ผ์ค๋ฌ๊ฐ ๋ฌด์์ด๊ณ , ๋จ๊ธฐ/์ค๊ธฐ/์ฅ๊ธฐ๋ก ๋๋๋ ๊ธฐ์ค์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- CPU ์ค์ผ์ค๋ฌ์ธ FCFS, SJF, SRTF, Priority Scheduling, RR์ ๋ํด ๊ฐ๋ตํ ์ค๋ช ํด์ฃผ์ธ์.
- ๋๊ธฐ์ ๋น๋๊ธฐ์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต์๋ ๋ฌด์์ด ์๋์ง ๊ฐ๋ตํ ์ค๋ช ํด์ฃผ์ธ์.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ๊ต์ฐฉ์ํ(๋ฐ๋๋ฝ, Deadlock)์ ๊ฐ๋ ๊ณผ ์กฐ๊ฑด์ ์ค๋ช ํด์ฃผ์ธ์.
- ์ฌ์ฉ์ ์์ค ์ค๋ ๋์ ์ปค๋ ์์ค ์ค๋ ๋์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
- ์ธ๋ถ ๋จํธํ์ ๋ด๋ถ ๋จํธํ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- Context Switching์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๊ณ ๊ณผ์ ์ ๋์ดํด์ฃผ์ธ์.
- Swapping์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๐ ์๋ฃ๊ตฌ์กฐ
- linked list
- single linked list
- double linked list
- circular linked list
- hash table
- stack
- queue
- circular queue
- graph
- tree
- binary tree
- full binary tree
- complete binary tree
- bst(binary search tree)
- heap(binary heap)
- min heap
- max heap
- red-black tree
- b+ tree
๐ป ์๊ณ ๋ฆฌ์ฆ
- ์๊ฐ, ๊ณต๊ฐ ๋ณต์ก๋
- Sort Algorithm
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Heap Sort
- Quick Sort
- Counting Sort
- Radix Sort
- Divide and Conquer
- Dynamic Programming
- Greedy Algorithm
- Graph
- Graph Traversal: BFS, DFS
- Shortest Path
- Dijkstra
- Floyd-Warshall
- Bellman-Ford
- Minimum Spanning Tree
- Prim
- Kruskal
- Union-find
- Topological sort
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for ai-tech-interview
Similar Open Source Tools
ai-tech-interview
This repository contains a collection of interview questions related to various topics such as statistics, machine learning, deep learning, Python, networking, operating systems, data structures, and algorithms. The questions cover a wide range of concepts and are suitable for individuals preparing for technical interviews in the field of artificial intelligence and data science.
oh-my-opencode
OhMyOpenCode is a free and open-source tool that enhances coding productivity by providing an agent harness for orchestrating multiple models and tools. It offers features like background agents, LSP/AST tools, curated MCPs, and compatibility with various agents like Claude Code. The tool aims to boost productivity, automate tasks, and streamline the coding process for users. It is highly extensible and customizable, catering to both hackers and non-hackers alike, with a focus on enhancing the development experience and performance.
baml
BAML is a config file format for declaring LLM functions that you can then use in TypeScript or Python. With BAML you can Classify or Extract any structured data using Anthropic, OpenAI or local models (using Ollama) ## Resources  [Discord Community](https://discord.gg/boundaryml)  [Follow us on Twitter](https://twitter.com/boundaryml) * Discord Office Hours - Come ask us anything! We hold office hours most days (9am - 12pm PST). * Documentation - Learn BAML * Documentation - BAML Syntax Reference * Documentation - Prompt engineering tips * Boundary Studio - Observability and more #### Starter projects * BAML + NextJS 14 * BAML + FastAPI + Streaming ## Motivation Calling LLMs in your code is frustrating: * your code uses types everywhere: classes, enums, and arrays * but LLMs speak English, not types BAML makes calling LLMs easy by taking a type-first approach that lives fully in your codebase: 1. Define what your LLM output type is in a .baml file, with rich syntax to describe any field (even enum values) 2. Declare your prompt in the .baml config using those types 3. Add additional LLM config like retries or redundancy 4. Transpile the .baml files to a callable Python or TS function with a type-safe interface. (VSCode extension does this for you automatically). We were inspired by similar patterns for type safety: protobuf and OpenAPI for RPCs, Prisma and SQLAlchemy for databases. BAML guarantees type safety for LLMs and comes with tools to give you a great developer experience:  Jump to BAML code or how Flexible Parsing works without additional LLM calls. | BAML Tooling | Capabilities | | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | BAML Compiler install | Transpiles BAML code to a native Python / Typescript library (you only need it for development, never for releases) Works on Mac, Windows, Linux  | | VSCode Extension install | Syntax highlighting for BAML files Real-time prompt preview Testing UI | | Boundary Studio open (not open source) | Type-safe observability Labeling |
chromem-go
chromem-go is an embeddable vector database for Go with a Chroma-like interface and zero third-party dependencies. It enables retrieval augmented generation (RAG) and similar embeddings-based features in Go apps without the need for a separate database. The focus is on simplicity and performance for common use cases, allowing querying of documents with minimal memory allocations. The project is in beta and may introduce breaking changes before v1.0.0.
LLamaSharp
LLamaSharp is a cross-platform library to run ๐ฆLLaMA/LLaVA model (and others) on your local device. Based on llama.cpp, inference with LLamaSharp is efficient on both CPU and GPU. With the higher-level APIs and RAG support, it's convenient to deploy LLM (Large Language Model) in your application with LLamaSharp.
Trace
Trace is a new AutoDiff-like tool for training AI systems end-to-end with general feedback. It generalizes the back-propagation algorithm by capturing and propagating an AI system's execution trace. Implemented as a PyTorch-like Python library, users can write Python code directly and use Trace primitives to optimize certain parts, similar to training neural networks.
MInference
MInference is a tool designed to accelerate pre-filling for long-context Language Models (LLMs) by leveraging dynamic sparse attention. It achieves up to a 10x speedup for pre-filling on an A100 while maintaining accuracy. The tool supports various decoding LLMs, including LLaMA-style models and Phi models, and provides custom kernels for attention computation. MInference is useful for researchers and developers working with large-scale language models who aim to improve efficiency without compromising accuracy.
gptlint
GPTLint is a tool that utilizes Large Language Models (LLMs) to enforce higher-level best practices across a codebase. It offers features such as enforcing rules that are impossible with AST-based approaches, simple markdown format for rules, easy customization of rules, support for custom project-specific rules, content-based caching, and outputting LLM stats per run. GPTLint supports all major LLM providers and local models, augments ESLint instead of replacing it, and includes guidelines for creating custom rules. However, the MVP rules are currently limited to JS/TS only, single-file context only, and do not support autofixing.
evidently
Evidently is an open-source Python library designed for evaluating, testing, and monitoring machine learning (ML) and large language model (LLM) powered systems. It offers a wide range of functionalities, including working with tabular, text data, and embeddings, supporting predictive and generative systems, providing over 100 built-in metrics for data drift detection and LLM evaluation, allowing for custom metrics and tests, enabling both offline evaluations and live monitoring, and offering an open architecture for easy data export and integration with existing tools. Users can utilize Evidently for one-off evaluations using Reports or Test Suites in Python, or opt for real-time monitoring through the Dashboard service.
ComfyUI-HunyuanVideo-Nyan
ComfyUI-HunyuanVideo-Nyan is a repository that provides tools for manipulating the attention of LLM models, allowing users to shuffle the AI's attention and cause confusion. The repository includes a Nerdy Transformer Shuffle node that enables users to mess with the LLM's attention layers, providing a workflow for installation and usage. It also offers a new SAE-informed Long-CLIP model with high accuracy, along with recommendations for CLIP models. Users can find detailed instructions on how to use the provided nodes to scale CLIP & LLM factors and create high-quality nature videos. The repository emphasizes compatibility with other related tools and provides insights into the functionality of the included nodes.
VedAstro
VedAstro is an open-source Vedic astrology tool that provides accurate astrological predictions and data. It offers a user-friendly website, a chat API, an open API, a JavaScript SDK, a Swiss Ephemeris API, and a machine learning table generator. VedAstro is free to use and is constantly being updated with new features and improvements.
swiftide
Swiftide is a fast, streaming indexing and query library tailored for Retrieval Augmented Generation (RAG) in AI applications. It is built in Rust, utilizing parallel, asynchronous streams for blazingly fast performance. With Swiftide, users can easily build AI applications from idea to production in just a few lines of code. The tool addresses frustrations around performance, stability, and ease of use encountered while working with Python-based tooling. It offers features like fast streaming indexing pipeline, experimental query pipeline, integrations with various platforms, loaders, transformers, chunkers, embedders, and more. Swiftide aims to provide a platform for data indexing and querying to advance the development of automated Large Language Model (LLM) applications.
intense-rp-next
IntenseRP Next v2 is a local OpenAI-compatible API + desktop app that bridges an OpenAI-style client (like SillyTavern) with provider web apps (DeepSeek, GLM Chat, Moonshot) by starting a local FastAPI server, launching a real Chromium session, intercepting streaming network responses, and re-emitting them as OpenAI-style SSE deltas for the client. It provides free-ish access to provider web models via the official web apps, a clicky desktop app experience, and occasional wait times due to web app changes. The tool is designed for local or LAN use and comes with built-in logging, update flows, and support for DeepSeek, GLM Chat, and Moonshot provider apps.
OpenMusic
OpenMusic is a repository providing an implementation of QA-MDT, a Quality-Aware Masked Diffusion Transformer for music generation. The code integrates state-of-the-art models and offers training strategies for music generation. The repository includes implementations of AudioLDM, PixArt-alpha, MDT, AudioMAE, and Open-Sora. Users can train or fine-tune the model using different strategies and datasets. The model is well-pretrained and can be used for music generation tasks. The repository also includes instructions for preparing datasets, training the model, and performing inference. Contact information is provided for any questions or suggestions regarding the project.
ludwig
Ludwig is a declarative deep learning framework designed for scale and efficiency. It is a low-code framework that allows users to build custom AI models like LLMs and other deep neural networks with ease. Ludwig offers features such as optimized scale and efficiency, expert level control, modularity, and extensibility. It is engineered for production with prebuilt Docker containers, support for running with Ray on Kubernetes, and the ability to export models to Torchscript and Triton. Ludwig is hosted by the Linux Foundation AI & Data.
weave
Weave is a toolkit for developing Generative AI applications, built by Weights & Biases. With Weave, you can log and debug language model inputs, outputs, and traces; build rigorous, apples-to-apples evaluations for language model use cases; and organize all the information generated across the LLM workflow, from experimentation to evaluations to production. Weave aims to bring rigor, best-practices, and composability to the inherently experimental process of developing Generative AI software, without introducing cognitive overhead.
For similar tasks
ai-tech-interview
This repository contains a collection of interview questions related to various topics such as statistics, machine learning, deep learning, Python, networking, operating systems, data structures, and algorithms. The questions cover a wide range of concepts and are suitable for individuals preparing for technical interviews in the field of artificial intelligence and data science.
free-ai-tips
Free AI Tips is a GitHub repository that provides weekly tips on Generative AI and Machine Learning. Users can register to receive these tips for free. The repository aims to offer valuable insights and knowledge in the field of AI and ML to help individuals enhance their skills and stay updated with the latest trends and developments.
knowledge-graph-of-thoughts
Knowledge Graph of Thoughts (KGoT) is an innovative AI assistant architecture that integrates LLM reasoning with dynamically constructed knowledge graphs (KGs). KGoT extracts and structures task-relevant knowledge into a dynamic KG representation, iteratively enhanced through external tools such as math solvers, web crawlers, and Python scripts. Such structured representation of task-relevant knowledge enables low-cost models to solve complex tasks effectively. The KGoT system consists of three main components: the Controller, the Graph Store, and the Integrated Tools, each playing a critical role in the task-solving process.
Awesome-CS-Books
Awesome CS Books is a curated list of books on computer science and technology. The books are organized by topic, including programming languages, software engineering, computer networks, operating systems, databases, data structures and algorithms, big data, architecture, and interviews. The books are available in PDF format and can be downloaded for free. The repository also includes links to free online courses and other resources.
Awesome-Books-Notes
Awesome CS Books is a repository that archives excellent books related to computer science and technology, named in the format of {year}-{author}-{title}-{version}. It includes reading notes for each book, with PDF links provided at the beginning of the notes. The repository focuses on IT CS-related books, valuable open courses, and aims to provide a systematic way of learning to alleviate fragmented skills and one-sidedness. It respects the original authors by linking to official/copyright websites and emphasizes non-commercial use of the documents.
AlgoListed
Algolisted is a pioneering platform dedicated to algorithmic problem-solving, offering a centralized hub for a diverse array of algorithmic challenges. It provides an immersive online environment for programmers to enhance their skills through Data Structures and Algorithms (DSA) sheets, academic progress tracking, resume refinement with OpenAI integration, adaptive testing, and job opportunity listings. The project is built on the MERN stack, Flask, Beautiful Soup, and Selenium,GEN AI, and deployed on Firebase. Algolisted aims to be a reliable companion in the pursuit of coding knowledge and proficiency.
2025-AI-College-Jobs
2025-AI-College-Jobs is a repository containing a comprehensive list of AI/ML & Data Science jobs suitable for college students seeking internships or new graduate positions. The repository is regularly updated with positions posted within the last 120 days, featuring opportunities from various companies in the USA and internationally. The list includes positions in areas such as research scientist internships, quantitative research analyst roles, and other data science-related positions. The repository aims to provide a valuable resource for students looking to kickstart their careers in the field of artificial intelligence and machine learning.
Awesome-RoadMaps-and-Interviews
Awesome RoadMaps and Interviews is a comprehensive repository that aims to provide guidance for technical interviews and career development in the ITCS field. It covers a wide range of topics including interview strategies, technical knowledge, and practical insights gained from years of interviewing experience. The repository emphasizes the importance of combining theoretical knowledge with practical application, and encourages users to expand their interview preparation beyond just algorithms. It also offers resources for enhancing knowledge breadth, depth, and programming skills through curated roadmaps, mind maps, cheat sheets, and coding snippets. The content is structured to help individuals navigate various technical roles and technologies, fostering continuous learning and professional growth.
For similar jobs
weave
Weave is a toolkit for developing Generative AI applications, built by Weights & Biases. With Weave, you can log and debug language model inputs, outputs, and traces; build rigorous, apples-to-apples evaluations for language model use cases; and organize all the information generated across the LLM workflow, from experimentation to evaluations to production. Weave aims to bring rigor, best-practices, and composability to the inherently experimental process of developing Generative AI software, without introducing cognitive overhead.
LLMStack
LLMStack is a no-code platform for building generative AI agents, workflows, and chatbots. It allows users to connect their own data, internal tools, and GPT-powered models without any coding experience. LLMStack can be deployed to the cloud or on-premise and can be accessed via HTTP API or triggered from Slack or Discord.
VisionCraft
The VisionCraft API is a free API for using over 100 different AI models. From images to sound.
kaito
Kaito is an operator that automates the AI/ML inference model deployment in a Kubernetes cluster. It manages large model files using container images, avoids tuning deployment parameters to fit GPU hardware by providing preset configurations, auto-provisions GPU nodes based on model requirements, and hosts large model images in the public Microsoft Container Registry (MCR) if the license allows. Using Kaito, the workflow of onboarding large AI inference models in Kubernetes is largely simplified.
PyRIT
PyRIT is an open access automation framework designed to empower security professionals and ML engineers to red team foundation models and their applications. It automates AI Red Teaming tasks to allow operators to focus on more complicated and time-consuming tasks and can also identify security harms such as misuse (e.g., malware generation, jailbreaking), and privacy harms (e.g., identity theft). The goal is to allow researchers to have a baseline of how well their model and entire inference pipeline is doing against different harm categories and to be able to compare that baseline to future iterations of their model. This allows them to have empirical data on how well their model is doing today, and detect any degradation of performance based on future improvements.
tabby
Tabby is a self-hosted AI coding assistant, offering an open-source and on-premises alternative to GitHub Copilot. It boasts several key features: * Self-contained, with no need for a DBMS or cloud service. * OpenAPI interface, easy to integrate with existing infrastructure (e.g Cloud IDE). * Supports consumer-grade GPUs.
spear
SPEAR (Simulator for Photorealistic Embodied AI Research) is a powerful tool for training embodied agents. It features 300 unique virtual indoor environments with 2,566 unique rooms and 17,234 unique objects that can be manipulated individually. Each environment is designed by a professional artist and features detailed geometry, photorealistic materials, and a unique floor plan and object layout. SPEAR is implemented as Unreal Engine assets and provides an OpenAI Gym interface for interacting with the environments via Python.
Magick
Magick is a groundbreaking visual AIDE (Artificial Intelligence Development Environment) for no-code data pipelines and multimodal agents. Magick can connect to other services and comes with nodes and templates well-suited for intelligent agents, chatbots, complex reasoning systems and realistic characters.
