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.
hal-9100
This repository is now archived and the code is privately maintained. If you are interested in this infrastructure, please contact the maintainer directly.
DaKanji
DaKanji is a mobile application that helps you learn Japanese. With DaKanji, you can look up words in many languages, search Kanjis by simply drawing them, add furigana to texts, and much more.
plandex
Plandex is an open source, terminal-based AI coding engine designed for complex tasks. It uses long-running agents to break up large tasks into smaller subtasks, helping users work through backlogs, navigate unfamiliar technologies, and save time on repetitive tasks. Plandex supports various AI models, including OpenAI, Anthropic Claude, Google Gemini, and more. It allows users to manage context efficiently in the terminal, experiment with different approaches using branches, and review changes before applying them. The tool is platform-independent and runs from a single binary with no dependencies.
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.
copilot
OpenCopilot is a tool that allows users to create their own AI copilot for their products. It integrates with APIs to execute calls as needed, using LLMs to determine the appropriate endpoint and payload. Users can define API actions, validate schemas, and integrate a user-friendly chat bubble into their SaaS app. The tool is capable of calling APIs, transforming responses, and populating request fields based on context. It is not suitable for handling large APIs without JSON transformers. Users can teach the copilot via flows and embed it in their app with minimal code.
TerminalGPT
TerminalGPT is a terminal-based ChatGPT personal assistant app that allows users to interact with OpenAI GPT-3.5 and GPT-4 language models. It offers advantages over browser-based apps, such as continuous availability, faster replies, and tailored answers. Users can use TerminalGPT in their IDE terminal, ensuring seamless integration with their workflow. The tool prioritizes user privacy by not using conversation data for model training and storing conversations locally on the user's machine.
BehaviorTree.CPP
BehaviorTree.CPP is a C++ 17 library that provides a framework to create BehaviorTrees. It was designed to be flexible, easy to use, reactive and fast. Even if our main use-case is robotics, you can use this library to build AI for games, or to replace Finite State Machines. There are few features which make BehaviorTree.CPP unique, when compared to other implementations: It makes asynchronous Actions, i.e. non-blocking, a first-class citizen. You can build reactive behaviors that execute multiple Actions concurrently (orthogonality). Trees are defined using a Domain Specific scripting language (based on XML), and can be loaded at run-time; in other words, even if written in C++, the morphology of the Trees is not hard-coded. You can statically link your custom TreeNodes or convert them into plugins and load them at run-time. It provides a type-safe and flexible mechanism to do Dataflow between Nodes of the Tree. It includes a logging/profiling infrastructure that allows the user to visualize, record, replay and analyze state transitions.
cody
Cody is a free, open-source AI coding assistant that can write and fix code, provide AI-generated autocomplete, and answer your coding questions. Cody fetches relevant code context from across your entire codebase to write better code that uses more of your codebase's APIs, impls, and idioms, with less hallucination.
OpenCopilot
OpenCopilot allows you to have your own product's AI copilot. It integrates with your underlying APIs and can execute API calls whenever needed. It uses LLMs to determine if the user's request requires calling an API endpoint. Then, it decides which endpoint to call and passes the appropriate payload based on the given API definition.
openllmetry-js
OpenLLMetry-JS is a set of extensions built on top of OpenTelemetry that gives you complete observability over your LLM application. Because it uses OpenTelemetry under the hood, it can be connected to your existing observability solutions - Datadog, Honeycomb, and others. It's built and maintained by Traceloop under the Apache 2.0 license. The repo contains standard OpenTelemetry instrumentations for LLM providers and Vector DBs, as well as a Traceloop SDK that makes it easy to get started with OpenLLMetry-JS, while still outputting standard OpenTelemetry data that can be connected to your observability stack. If you already have OpenTelemetry instrumented, you can just add any of our instrumentations directly.
pyqt-openai
VividNode is a cross-platform AI desktop chatbot application for LLM such as GPT, Claude, Gemini, Llama chatbot interaction and image generation. It offers customizable features, local chat history, and enhanced performance without requiring a browser. The application is powered by GPT4Free and allows users to interact with chatbots and generate images seamlessly. VividNode supports Windows, Mac, and Linux, securely stores chat history locally, and provides features like chat interface customization, image generation, focus and accessibility modes, and extensive customization options with keyboard shortcuts for efficient operations.
crawlee-python
Crawlee-python is a web scraping and browser automation library that covers crawling and scraping end-to-end, helping users build reliable scrapers fast. It allows users to crawl the web for links, scrape data, and store it in machine-readable formats without worrying about technical details. With rich configuration options, users can customize almost any aspect of Crawlee to suit their project's needs.
pathway
Pathway is a Python data processing framework for analytics and AI pipelines over data streams. It's the ideal solution for real-time processing use cases like streaming ETL or RAG pipelines for unstructured data. Pathway comes with an **easy-to-use Python API** , allowing you to seamlessly integrate your favorite Python ML libraries. Pathway code is versatile and robust: **you can use it in both development and production environments, handling both batch and streaming data effectively**. The same code can be used for local development, CI/CD tests, running batch jobs, handling stream replays, and processing data streams. Pathway is powered by a **scalable Rust engine** based on Differential Dataflow and performs incremental computation. Your Pathway code, despite being written in Python, is run by the Rust engine, enabling multithreading, multiprocessing, and distributed computations. All the pipeline is kept in memory and can be easily deployed with **Docker and Kubernetes**. You can install Pathway with pip: `pip install -U pathway` For any questions, you will find the community and team behind the project on Discord.
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 ![](https://img.shields.io/discord/1119368998161752075.svg?logo=discord&label=Discord%20Community) [Discord Community](https://discord.gg/boundaryml) ![](https://img.shields.io/twitter/follow/boundaryml?style=social) [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: ![](docs/images/v3/prompt_view.gif) 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 ![](https://img.shields.io/badge/Python-3.8+-default?logo=python)![](https://img.shields.io/badge/Typescript-Node_18+-default?logo=typescript) | | VSCode Extension install | Syntax highlighting for BAML files Real-time prompt preview Testing UI | | Boundary Studio open (not open source) | Type-safe observability Labeling |
llm-autoeval
LLM AutoEval is a tool that simplifies the process of evaluating Large Language Models (LLMs) using a convenient Colab notebook. It automates the setup and execution of evaluations using RunPod, allowing users to customize evaluation parameters and generate summaries that can be uploaded to GitHub Gist for easy sharing and reference. LLM AutoEval supports various benchmark suites, including Nous, Lighteval, and Open LLM, enabling users to compare their results with existing models and leaderboards.
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.
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.