[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-boost-devs--ai-tech-interview":3,"tool-boost-devs--ai-tech-interview":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85052,2,"2026-04-08T11:03:08",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75229,"2026-04-09T11:17:25",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":81,"languages":80,"stars":82,"forks":83,"last_commit_at":84,"license":85,"difficulty_score":29,"env_os":86,"env_gpu":87,"env_ram":87,"env_deps":88,"category_tags":91,"github_topics":92,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":22,"created_at":98,"updated_at":99,"faqs":100,"releases":101},5933,"boost-devs\u002Fai-tech-interview","ai-tech-interview","👩‍💻👨‍💻 AI 엔지니어 기술 면접 스터디 (⭐️ 2k+)","ai-tech-interview 是一个专为 AI 工程师打造的开源技术面试备考资源库，由韩国开发者社区维护并收获了超过 2000 颗星标。该项目系统性地整理了统计学、数学基础以及机器学习领域的核心面试题与详细解答，涵盖从特征值、贝叶斯理论到 SVM、XGBoost 等深度算法原理，旨在帮助求职者攻克技术面试中的理论难关。\n\n它主要解决了 AI 领域面试准备中知识点分散、缺乏系统性梳理以及难以获取高质量参考答案的痛点。通过结构化的问答形式，用户不仅能复习基础概念，还能深入理解算法背后的数学推导与实际应用场景。此外，项目不仅提供 GitHub 源码浏览，还推出了基于 Streamlit 的在线练习平台以及 GitBook 文档站，支持用户随时随地进行移动端学习与模拟演练。\n\n这份资料非常适合正在寻求 AI 算法岗、数据科学岗的开发者，以及希望夯实理论基础的研究人员和学生使用。其独特的亮点在于社区驱动的协作模式，鼓励用户通过规范的 Pull Request 贡献内容，确保了题库的持续更新与答案的准确性；同时，多平台适配的设计让学习过程更加灵活高效，是备战大厂技术面试的实用指南。","![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fboost-devs_ai-tech-interview_readme_66f19e13e874.png)\n\n\u003Cdiv align=\"center\">     \n  \u003Ca href=\"https:\u002F\u002Fhits.sh\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002F\">\u003Cimg alt=\"Hits\" src=\"https:\u002F\u002Fhits.sh\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview.svg?view=today-total&color=dfb317\"\u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\" alt=\"forks\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview?color=yellow\" alt=\"stars\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview?color=red\" alt=\"pr\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\" alt=\"license\"\u002F>\n\u003C\u002Fdiv>\n\n---\n\n## Notice\n\n> [!TIP]\n> 이동 중에도 면접 준비하고 싶다면, @LearningnRunning 님이 만든 [AI Tech Interview 연습하기](https:\u002F\u002Fai-tech-interview.streamlit.app\u002F)를 이용해보세요!\n\n> [!WARNING]  \n> PR 요청 시 [작성 규칙](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F182)을 준수해주세요. **준수하지 않을 시 해당 PR은 거절될 수 있습니다.**\n\n- 피드백은 [Pull Request를 통한 피드백 요청 방법](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F181)을 참고하여 Pull Request로 보내주세요.\n  - Pull Request 작성 규칙은 [여기](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F182)를 참고해주세요. \n- GitHub 외에 [GitBook 사이트](https:\u002F\u002Fboostdevs.gitbook.io\u002Fai-tech-interview\u002F)로도 보실 수 있습니다.\n\n---\n\n## Interview Questions\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F1-statistics-math.md\">\u003Cstrong>📈 통계\u002F수학\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 고유값(eigen value)와 고유벡터(eigen vector)이 무엇이고 왜 중요한지 설명해주세요.\n- 샘플링(Sampling)과 리샘플링(Resampling)이 무엇이고 리샘플링의 장점을 말씀해주세요.\n- 확률 모형과 확률 변수는 무엇인가요?\n- 누적 분포 함수와 확률 밀도 함수는 무엇인가요? 수식과 함께 표현해주세요.\n- 조건부 확률은 무엇인가요?\n- 공분산과 상관계수는 무엇일까요? 수식과 함께 표현해주세요.\n- 신뢰 구간의 정의는 무엇인가요?\n- p-value를 모르는 사람에게 설명한다면 어떻게 설명하실 건가요?\n- R square의 의미는 무엇인가요?\n- 평균(mean)과 중앙값(median)중에 어떤 케이스에서 뭐를 써야할까요?\n- 중심극한정리는 왜 유용한걸까요?\n- 엔트로피(entropy)에 대해 설명해주세요. 가능하면 Information Gain도요.\n- 어떨 때 모수적 방법론을 쓸 수 있고, 어떨 때 비모수적 방법론을 쓸 수 있나요?\n- “likelihood”와 “probability”의 차이는 무엇일까요?\n- 통계에서 사용되는 bootstrap의 의미는 무엇인가요.\n- 모수가 매우 적은 (수십개 이하) 케이스의 경우 어떤 방식으로 예측 모델을 수립할 수 있을까요?\n- 베이지안과 프리퀀티스트 간의 입장차이를 설명해주실 수 있나요?\n- 검정력(statistical power)은 무엇일까요?\n- missing value가 있을 경우 채워야 할까요? 그 이유는 무엇인가요?\n- 아웃라이어의 판단하는 기준은 무엇인가요?\n- 필요한 표본의 크기를 어떻게 계산합니까?\n- Bias를 통제하는 방법은 무엇입니까?\n- 로그 함수는 어떤 경우 유용합니까? 사례를 들어 설명해주세요.\n- 베르누이 분포 \u002F 이항 분포 \u002F 카테고리 분포 \u002F 다항 분포 \u002F 가우시안 정규 분포 \u002F t 분포 \u002F 카이제곱 분포 \u002F F 분포 \u002F 베타 분포 \u002F 감마 분포에 대해 설명해주세요. 그리고 분포 간의 연관성도 설명해주세요.\n- 출장을 위해 비행기를 타려고 합니다. 당신은 우산을 가져가야 하는지 알고 싶어 출장지에 사는 친구 3명에게 무작위로 전화를 하고 비가 오는 경우를 독립적으로 질문해주세요. 각 친구는 2\u002F3로 진실을 말하고 1\u002F3으로 거짓을 말합니다. 3명의 친구가 모두 “그렇습니다. 비가 내리고 있습니다”라고 말했습니다. 실제로 비가 내릴 확률은 얼마입니까?\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F2-machine-learning.md\">\u003Cstrong>🤖 머신러닝\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 알고 있는 metric에 대해 설명해주세요. (ex. RMSE, MAE, recall, precision ...)\n- 정규화를 왜 해야할까요? 정규화의 방법은 무엇이 있나요?\n- Local Minima와 Global Minimum에 대해 설명해주세요.\n- 차원의 저주에 대해 설명해주세요.\n- dimension reduction기법으로 보통 어떤 것들이 있나요?\n- PCA는 차원 축소 기법이면서, 데이터 압축 기법이기도 하고, 노이즈 제거기법이기도 합니다. 왜 그런지 설명해주실 수 있나요?\n- LSA, LDA, SVD 등의 약자들이 어떤 뜻이고 서로 어떤 관계를 가지는지 설명할 수 있나요?\n- Markov Chain을 고등학생에게 설명하려면 어떤 방식이 제일 좋을까요?\n- 텍스트 더미에서 주제를 추출해야 합니다. 어떤 방식으로 접근해 나가시겠나요?\n- SVM은 왜 반대로 차원을 확장시키는 방식으로 동작할까요? SVM은 왜 좋을까요?\n- 다른 좋은 머신 러닝 대비, 오래된 기법인 나이브 베이즈(naive bayes)의 장점을 옹호해보세요.\n- 회귀 \u002F 분류시 알맞은 metric은 무엇일까?\n- Association Rule의 Support, Confidence, Lift에 대해 설명해주세요.\n- 최적화 기법중 Newton’s Method와 Gradient Descent 방법에 대해 알고 있나요?\n- 머신러닝(machine)적 접근방법과 통계(statistics)적 접근방법의 둘간에 차이에 대한 견해가 있나요?\n- 인공신경망(deep learning이전의 전통적인)이 가지는 일반적인 문제점은 무엇일까요?\n- 지금 나오고 있는 deep learning 계열의 혁신의 근간은 무엇이라고 생각하시나요?\n- ROC 커브에 대해 설명해주실 수 있으신가요?\n- 여러분이 서버를 100대 가지고 있습니다. 이때 인공신경망보다 Random Forest를 써야하는 이유는 뭘까요?\n- K-means의 대표적 의미론적 단점은 무엇인가요? (계산량 많다는것 말고)\n- L1, L2 정규화에 대해 설명해주세요.\n- Cross Validation은 무엇이고 어떻게 해야하나요?\n- XGBoost을 아시나요? 왜 이 모델이 캐글에서 유명할까요?\n- 앙상블 방법엔 어떤 것들이 있나요?\n- feature vector란 무엇일까요?\n- 좋은 모델의 정의는 무엇일까요?\n- 50개의 작은 의사결정 나무는 큰 의사결정 나무보다 괜찮을까요? 왜 그렇게 생각하나요?\n- 스팸 필터에 로지스틱 리그레션을 많이 사용하는 이유는 무엇일까요?\n- OLS(ordinary least squre) regression의 공식은 무엇인가요?\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F3-deep-learning.md\">\u003Cstrong>🧠 딥러닝\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 딥러닝은 무엇인가요? 딥러닝과 머신러닝의 차이는?\n- Cost Function과 Activation Function은 무엇인가요?\n- Tensorflow, PyTorch 특징과 차이가 뭘까요?\n- Data Normalization은 무엇이고 왜 필요한가요?\n- 알고있는 Activation Function에 대해 알려주세요. (Sigmoid, ReLU, LeakyReLU, Tanh 등)\n- 오버피팅일 경우 어떻게 대처해야 할까요?\n- 하이퍼 파라미터는 무엇인가요?\n- Weight Initialization 방법에 대해 말해주세요. 그리고 무엇을 많이 사용하나요?\n- 볼츠만 머신은 무엇인가요?\n- TF, PyTorch 등을 사용할 때 디버깅 노하우는?\n- 뉴럴넷의 가장 큰 단점은 무엇인가? 이를 위해 나온 One-Shot Learning은 무엇인가?\n- 요즘 Sigmoid 보다 ReLU를 많이 쓰는데 그 이유는?\n  - Non-Linearity라는 말의 의미와 그 필요성은?\n  - ReLU로 어떻게 곡선 함수를 근사하나?\n  - ReLU의 문제점은?\n  - Bias는 왜 있는걸까?\n- Gradient Descent에 대해서 쉽게 설명한다면?\n  - 왜 꼭 Gradient를 써야 할까? 그 그래프에서 가로축과 세로축 각각은 무엇인가? 실제 상황에서는 그 그래프가 어떻게 그려질까?\n  - GD 중에 때때로 Loss가 증가하는 이유는?\n  - Back Propagation에 대해서 쉽게 설명 한다면?\n- Local Minima 문제에도 불구하고 딥러닝이 잘 되는 이유는?\n  - GD가 Local Minima 문제를 피하는 방법은?\n  - 찾은 해가 Global Minimum인지 아닌지 알 수 있는 방법은?\n- Training 세트와 Test 세트를 분리하는 이유는?\n  - Validation 세트가 따로 있는 이유는?\n  - Test 세트가 오염되었다는 말의 뜻은?\n  - Regularization이란 무엇인가?\n- Batch Normalization의 효과는?\n  - Dropout의 효과는?\n  - BN 적용해서 학습 이후 실제 사용시에 주의할 점은? 코드로는?\n  - GAN에서 Generator 쪽에도 BN을 적용해도 될까?\n- SGD, RMSprop, Adam에 대해서 아는대로 설명한다면?\n  - SGD에서 Stochastic의 의미는?\n  - 미니배치를 작게 할때의 장단점은?\n  - 모멘텀의 수식을 적어 본다면?\n- 간단한 MNIST 분류기를 MLP+CPU 버전으로 numpy로 만든다면 몇줄일까?\n  - 어느 정도 돌아가는 녀석을 작성하기까지 몇시간 정도 걸릴까?\n  - Back Propagation은 몇줄인가?\n  - CNN으로 바꾼다면 얼마나 추가될까?\n- 간단한 MNIST 분류기를 TF, PyTorch 등으로 작성하는데 몇시간이 필요한가?\n  - CNN이 아닌 MLP로 해도 잘 될까?\n  - 마지막 레이어 부분에 대해서 설명 한다면?\n  - 학습은 BCE loss로 하되 상황을 MSE loss로 보고 싶다면?\n- 딥러닝할 때 GPU를 쓰면 좋은 이유는?\n  - GPU를 두개 다 쓰고 싶다. 방법은?\n  - 학습시 필요한 GPU 메모리는 어떻게 계산하는가?\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F4-python.md\">\u003Cstrong>🐍 파이썬\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- What is the difference between list and tuples in Python?\n- What are the key features of Python?\n- What type of language is python? Programming or scripting?\n- Python an interpreted language. Explain.\n- What is pep 8?\n- How is memory managed in Python?\n- What is namespace in Python?\n- What is PYTHONPATH?\n- What are python modules? Name some commonly used built-in modules in Python?\n- What are local variables and global variables in Python?\n- Is python case sensitive?\n- What is type conversion in Python?\n- How to install Python on Windows and set path variable?\n- Is indentation required in python?\n- What is the difference between Python Arrays and lists?\n- What are functions in Python?\n- What is `__init__`?\n- What is a lambda function?\n- What is self in Python?\n- How does break, continue and pass work?\n- What does `[::-1]` do?\n- How can you randomize the items of a list in place in Python?\n- What’s the difference between iterator and iterable?\n- How can you generate random numbers in Python?\n- What is the difference between range & xrange?\n- How do you write comments in python?\n- What is pickling and unpickling?\n- What are the generators in python?\n- How will you capitalize the first letter of string?\n- How will you convert a string to all lowercase?\n- How to comment multiple lines in python?\n- What are docstrings in Python?\n- What is the purpose of is, not and in operators?\n- What is the usage of help() and dir() function in Python?\n- Whenever Python exits, why isn’t all the memory de-allocated?\n- What is a dictionary in Python?\n- How can the ternary operators be used in python?\n- What does this mean: `*args`, `**kwargs`? And why would we use it?\n- What does len() do?\n- Explain split(), sub(), subn() methods of “re” module in Python.\n- What are negative indexes and why are they used?\n- What are Python packages?\n- How can files be deleted in Python?\n- What are the built-in types of python?\n- What advantages do NumPy arrays offer over (nested) Python lists?\n- How to add values to a python array?\n- How to remove values to a python array?\n- Does Python have OOps concepts?\n- What is the difference between deep and shallow copy?\n- How is Multithreading achieved in Python?\n- What is the process of compilation and linking in python?\n- What are Python libraries? Name a few of them.\n- What is split used for?\n- How to import modules in python?\n- Explain Inheritance in Python with an example.\n- How are classes created in Python?\n- What is monkey patching in Python?\n- Does python support multiple inheritance?\n- What is Polymorphism in Python?\n- Define encapsulation in Python?\n- How do you do data abstraction in Python?\n- Does python make use of access specifiers?\n- How to create an empty class in Python?\n- What does an object() do?\n- What is map function in Python?\n- Is python numpy better than lists?\n- What is GIL in Python language?\n- What makes the CPython different from Python?\n- What are Decorators in Python?\n- What is object interning?\n- What is @classmethod, @staticmethod, @property?\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F5-network.md\">\u003Cstrong>🌐 네트워크\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- TCP\u002FIP의 각 계층을 설명해주세요.\n- OSI 7계층와 TCP\u002FIP 계층의 차이를 설명해주세요.\n- Frame, Packet, Segment, Datagram을 비교해주세요.\n- TCP와 UDP의 차이를 설명해주세요.\n- TCP와 UDP의 헤더를 비교해주세요.\n- TCP의 3-way-handshake와 4-way-handshake를 비교 설명해주세요.\n- TCP의 연결 설정 과정(3단계)과 연결 종료 과정(4단계)이 단계가 차이나는 이유가 무엇인가요?\n- 만약 Server에서 FIN 플래그를 전송하기 전에 전송한 패킷이 Routing 지연이나 패킷 유실로 인한 재전송 등으로 인해 FIN 패킷보다 늦게 도착하는 상황이 발생하면 어떻게 될까요?\n- 초기 Sequence Number인 ISN을 0부터 시작하지 않고 난수를 생성해서 설정하는 이유가 무엇인가요?\n- HTTP와 HTTPS에 대해서 설명하고 차이점에 대해 설명해주세요.\n- HTTP 요청\u002F응답 헤더의 구조를 설명해주세요.\n- HTTP와 HTTPS 동작 과정을 비교해주세요.\n- CORS가 무엇인가요?\n- HTTP GET과 POST 메서드를 비교\u002F설명해주세요.\n- 쿠키(Cookie)와 세션(Session)을 설명해주세요.\n- DNS가 무엇인가요?\n- REST와 RESTful의 개념을 설명하고 차이를 말해주세요.\n- 소켓(Socket)이 무엇인가요? 자신 있는 언어로 간단히 소켓 생성 예시를 보여주세요.\n- Socket.io와 WebSocket의 차이를 설명해주세요.\n- IPv4와 IPv6 차이를 설명해주세요.\n- MAC Address가 무엇인가요?\n- 라우터와 스위치, 허브의 차이를 설명해주세요.\n- SMTP가 무엇인가요?\n- 노트북으로 `www.google.com`에 접속을 했습니다. 요청을 보내고 받기까지의 과정을 자세히 설명해주세요.\n- 여러 네트워크 topology에 대해 간단히 소개해주세요.\n- subnet mask에 대해서 설명해주세요.\n- data encapsulation이 무엇인가요?\n- DHCP를 설명해주세요.\n- routing protocol을 몇 가지 설명해주세요. (ex. link state, distance vector)\n- 이더넷(ethernet)이 무엇인가요?\n- client와 server의 차이점을 설명해주세요.\n- delay, timing(jitter), throughput 차이를 설명해주세요.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F6-operating-system.md\">\u003Cstrong>🖥️ 운영체제\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 프로세스와 스레드의 차이(Process vs Thread)를 알려주세요.\n- 멀티 프로세스 대신 멀티 스레드를 사용하는 이유를 설명해주세요.\n- 캐시의 지역성에 대해 설명해주세요.\n- Thread-safe에 대해 설명해주세요. (hint: critical section)\n- 뮤텍스와 세마포어의 차이를 설명해주세요.\n- 스케줄러가 무엇이고, 단기\u002F중기\u002F장기로 나누는 기준에 대해 설명해주세요.\n- CPU 스케줄러인 FCFS, SJF, SRTF, Priority Scheduling, RR에 대해 간략히 설명해주세요.\n- 동기와 비동기의 차이를 설명해주세요.\n- 메모리 관리 전략에는 무엇이 있는지 간략히 설명해주세요.\n- 가상 메모리에 대해 설명해주세요.\n- 교착상태(데드락, Deadlock)의 개념과 조건을 설명해주세요.\n- 사용자 수준 스레드와 커널 수준 스레드의 차이를 설명해주세요.\n- 외부 단편화와 내부 단편화에 대해 설명해주세요.\n- Context Switching이 무엇인지 설명하고 과정을 나열해주세요.\n- Swapping에 대해 설명해주세요.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F7-data-structure.md\">\u003Cstrong>🗂 자료구조\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- linked list\n  - single linked list\n  - double linked list\n  - circular linked list\n- hash table\n- stack\n- queue\n  - circular queue\n- graph\n- tree\n  - binary tree\n  - full binary tree\n  - complete binary tree\n  - bst(binary search tree)\n- heap(binary heap)\n  - min heap\n  - max heap\n- red-black tree\n- b+ tree\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F8-algorithm.md\">\u003Cstrong>🔻 알고리즘\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 시간, 공간 복잡도\n- Sort Algorithm\n  - Bubble Sort\n  - Selection Sort\n  - Insertion Sort\n  - Merge Sort\n  - Heap Sort\n  - Quick Sort\n  - Counting Sort\n  - Radix Sort\n- Divide and Conquer\n- Dynamic Programming\n- Greedy Algorithm\n- Graph\n  - Graph Traversal: BFS, DFS\n  - Shortest Path\n    - Dijkstra\n    - Floyd-Warshall\n    - Bellman-Ford\n  - Minimum Spanning Tree\n    - Prim\n    - Kruskal\n  - Union-find\n  - Topological sort\n\n\u003C\u002Fdetails>\n\n---\n\n## Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fboost-devs_ai-tech-interview_readme_124843374a14.png\" \u002F>\n\u003C\u002Fa>\n\n---\n\n## References\n\n- [zzsza님의 Datascience-Interview-Questions](https:\u002F\u002Fgithub.com\u002Fzzsza\u002FDatascience-Interview-Questions)\n- [DopplerHQ님의 awesome-interview-questions](https:\u002F\u002Fgithub.com\u002FDopplerHQ\u002Fawesome-interview-questions)\n- [JaeYeopHan님의 Interview_Question_for_Beginner](https:\u002F\u002Fgithub.com\u002FJaeYeopHan\u002FInterview_Question_for_Beginner)\n- [WeareSoft님의 tech-interview](https:\u002F\u002Fgithub.com\u002FWeareSoft\u002Ftech-interview)\n","![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fboost-devs_ai-tech-interview_readme_66f19e13e874.png)\n\n\u003Cdiv align=\"center\">     \n  \u003Ca href=\"https:\u002F\u002Fhits.sh\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002F\">\u003Cimg alt=\"Hits\" src=\"https:\u002F\u002Fhits.sh\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview.svg?view=today-total&color=dfb317\"\u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\" alt=\"forks\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview?color=yellow\" alt=\"stars\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview?color=red\" alt=\"pr\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\" alt=\"license\"\u002F>\n\u003C\u002Fdiv>\n\n---\n\n## 注意事项\n\n> [!TIP]\n> 如果您在移动途中也想准备面试，不妨试试 @LearningnRunning 制作的 [AI Tech Interview 练习](https:\u002F\u002Fai-tech-interview.streamlit.app\u002F)！\n\n> [!WARNING]  \n> 提交 PR 请求时，请务必遵守[编写规则](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F182)。**如果不遵守，该 PR 可能会被拒绝。**\n\n- 关于反馈，请参考[通过 Pull Request 请求反馈的方法](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F181)，并通过 Pull Request 提交。\n  - Pull Request 的编写规则请参阅[这里](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F182)。\n- 您也可以通过 [GitBook 网站](https:\u002F\u002Fboostdevs.gitbook.io\u002Fai-tech-interview\u002F) 查看内容。\n\n---\n\n## 面试问题\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F1-statistics-math.md\">\u003Cstrong>📈 统计学\u002F数学\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 请解释特征值和特征向量是什么，以及它们为什么重要。\n- 什么是采样和重采样？重采样的优势有哪些？\n- 概率模型和随机变量分别是什么？\n- 累积分布函数和概率密度函数分别是什么？请用公式表示。\n- 条件概率是什么？\n- 协方差和相关系数分别是什么？请用公式表示。\n- 置信区间的定义是什么？\n- 如果要向不懂 p 值的人解释，你会怎么讲？\n- R 平方的意义是什么？\n- 在什么情况下应该使用均值，什么情况下应该使用中位数？\n- 中心极限定理为什么有用？\n- 请解释熵的概念，最好也能提到信息增益。\n- 什么时候可以使用参数方法，什么时候可以使用非参数方法？\n- “似然”和“概率”有什么区别？\n- 统计学中使用的自助法（Bootstrap）是什么意思？\n- 当样本数量非常少（不超过几十个）时，如何建立预测模型？\n- 贝叶斯派和频率派的观点有何不同？\n- 统计功效是什么？\n- 如果存在缺失值，是否需要填补？为什么？\n- 如何判断异常值？\n- 如何计算所需的样本量？\n- 如何控制偏差？\n- 什么情况下对数函数会很有用？请举例说明。\n- 请解释伯努利分布、二项分布、多项分布、高斯正态分布、t 分布、卡方分布、F 分布、贝塔分布、伽马分布等，并说明这些分布之间的关系。\n- 你打算乘飞机出差，想知道是否需要带伞。于是你随机给住在出差地点的三位朋友打电话，独立地询问他们那里是否正在下雨。每位朋友有 2\u002F3 的几率说真话，1\u002F3 的几率说谎。结果三位朋友都说：“是的，正在下雨。”那么实际上真的会下雨的概率是多少？\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F2-machine-learning.md\">\u003Cstrong>🤖 机器学习\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 请介绍一些常用的评估指标。（例如 RMSE、MAE、召回率、精确率等）\n- 为什么要进行归一化？有哪些归一化的方法？\n- 请解释局部最小值和全局最小值的区别。\n- 请解释维度灾难。\n- 常用的降维方法有哪些？\n- PCA 既是降维方法，也是数据压缩和去噪方法，为什么呢？\n- LSA、LDA、SVD 等缩写的含义是什么？它们之间有什么联系？\n- 如果要向高中生解释马尔可夫链，最好的方式是什么？\n- 如果需要从文本数据中提取主题，你会采取什么方法？\n- 为什么支持向量机采用的是将数据映射到更高维度的方式？它有哪些优点？\n- 相较于其他优秀的机器学习算法，朴素贝叶斯作为一种较为古老的方法，其优势在哪里？\n- 回归和分类任务中，合适的评估指标分别是什么？\n- 请解释关联规则中的支持度、置信度和提升度。\n- 你了解牛顿法和梯度下降法这两种优化方法吗？\n- 你认为机器学习方法和统计学方法之间有什么区别？\n- 传统人工神经网络有哪些常见的问题？\n- 你认为当前深度学习领域创新的根本原因是什么？\n- 请解释 ROC 曲线。\n- 如果你有 100 台服务器，为什么应该选择随机森林而不是人工神经网络？\n- K-means 算法除了计算量大之外，还有哪些典型的语义上的缺点？\n- 请解释 L1 和 L2 正则化。\n- 什么是交叉验证？应该如何进行？\n- 你知道 XGBoost 吗？为什么这个模型在 Kaggle 上如此出名？\n- 集成学习方法都有哪些？\n- 特征向量是什么？\n- 优秀模型的定义是什么？\n- 50 棵小决策树比一棵大决策树好吗？为什么这么认为？\n- 为什么垃圾邮件过滤器经常使用逻辑回归？\n- OLS（普通最小二乘法）回归的公式是什么？\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F3-deep-learning.md\">\u003Cstrong>🧠 深度学习\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 什么是深度学习？它与机器学习有什么区别？\n- 损失函数和激活函数分别是什么？\n- TensorFlow 和 PyTorch 的特点及区别是什么？\n- 数据归一化是什么，为什么需要它？\n- 请介绍一下你所知道的激活函数。（如 Sigmoid、ReLU、LeakyReLU、Tanh 等）\n- 如果出现过拟合，该如何应对？\n- 什么是超参数？\n- 请谈谈权重初始化的方法，并说明常用的做法。\n- 玻尔兹曼机是什么？\n- 使用 TensorFlow、PyTorch 等工具时，有哪些调试技巧？\n- 神经网络最大的缺点是什么？为了解决这个问题而出现的一次性学习又是什么？\n- 为什么现在 ReLU 比 Sigmoid 更受欢迎？\n  - “非线性”的含义及其必要性是什么？\n  - ReLU 如何近似曲线函数？\n  - ReLU 存在哪些问题？\n  - 偏置项存在的意义是什么？\n- 如果要用简单易懂的方式解释梯度下降法，你会怎么说？\n  - 为什么一定要使用梯度？梯度下降图中的横轴和纵轴分别代表什么？实际情况下这张图会如何呈现？\n  - 为什么在梯度下降过程中有时损失会增加？\n  - 如果要用通俗易懂的语言解释反向传播，你会怎么讲？\n- 尽管存在局部最小值问题，为什么深度学习仍然能够取得良好的效果？\n  - 梯度下降法如何避免陷入局部最小值？\n  - 如何判断找到的解是否是全局最小值？\n- 为什么要将训练集和测试集分开？\n  - 为什么还需要单独的验证集？\n  - 测试集被污染是什么意思？\n  - 正则化是什么？\n- 批量归一化的效果如何？\n  - Dropout 的效果又如何？\n  - 应用批量归一化后，在实际使用中需要注意什么？代码上该如何实现？\n  - GAN 中生成器部分是否也可以应用批量归一化？\n- 如果让你根据已有的知识来解释 SGD、RMSprop 和 Adam，你会怎么说？\n  - SGD 中“随机”的含义是什么？\n  - 使用较小的迷你批次有哪些优缺点？\n  - 动量的公式应该怎么写？\n- 如果用 NumPy 在 CPU 上实现一个简单的 MNIST 分类器，大概需要多少行代码？\n  - 大概需要花费几个小时才能完成一个能够正常运行的程序？\n  - 反向传播需要多少行代码？\n  - 如果换成卷积神经网络，又会增加多少代码？\n- 如果用 TensorFlow、PyTorch 等框架来编写一个简单的 MNIST 分类器，大概需要花费多少时间？\n  - 如果不使用卷积神经网络，只用多层感知器是否也能达到不错的效果？\n  - 最后一层该如何设计？\n  - 学习时可以用 BCE 损失函数，但如果想以 MSE 损失函数来看待情况呢？\n- 为什么在进行深度学习时使用 GPU 会更好？\n  - 如果想同时使用两块 GPU，该怎么做？\n  - 训练时所需的 GPU 显存该如何计算？\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F4-python.md\">\u003Cstrong>🐍 Python\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- Python中的列表和元组有什么区别？\n- Python有哪些关键特性？\n- Python是一种什么类型的语言？是编程语言还是脚本语言？\n- Python是一种解释型语言。请解释一下。\n- 什么是PEP 8？\n- Python是如何进行内存管理的？\n- Python中的命名空间是什么？\n- 什么是PYTHONPATH？\n- 什么是Python模块？请列举一些常用的Python内置模块。\n- Python中的局部变量和全局变量是什么？\n- Python是否区分大小写？\n- Python中的类型转换是什么？\n- 如何在Windows上安装Python并设置环境变量？\n- Python中是否需要缩进？\n- Python数组和列表有什么区别？\n- Python中的函数是什么？\n- 什么是`__init__`？\n- 什么是lambda函数？\n- Python中的`self`是什么？\n- `break`、`continue`和`pass`分别如何工作？\n- `[::-1]`的作用是什么？\n- 如何在Python中就地打乱列表中的元素顺序？\n- 迭代器和可迭代对象有什么区别？\n- 如何在Python中生成随机数？\n- `range`和`xrange`有什么区别？\n- 如何在Python中编写注释？\n- 什么是序列化和反序列化？\n- Python中的生成器是什么？\n- 如何将字符串的第一个字母大写？\n- 如何将字符串全部转换为小写？\n- 如何在Python中注释多行代码？\n- Python中的文档字符串是什么？\n- `is`、`not`和`in`运算符的作用是什么？\n- `help()`和`dir()`函数在Python中有什么用途？\n- 当Python退出时，为什么不是所有内存都会被释放？\n- Python中的字典是什么？\n- 如何在Python中使用三元运算符？\n- `*args`和`**kwargs`是什么意思？为什么要使用它们？\n- `len()`函数的作用是什么？\n- 解释Python中`re`模块的`split()`、`sub()`和`subn()`方法。\n- 什么是负索引？为什么使用负索引？\n- Python中的包是什么？\n- 如何在Python中删除文件？\n- Python有哪些内置数据类型？\n- NumPy数组相比（嵌套）Python列表有哪些优势？\n- 如何向Python数组中添加元素？\n- 如何从Python数组中移除元素？\n- Python是否支持面向对象编程的概念？\n- 深拷贝和浅拷贝有什么区别？\n- Python中是如何实现多线程的？\n- Python中的编译和链接过程是什么？\n- Python中的库有哪些？请列举几个。\n- `split()`函数用来做什么？\n- 如何在Python中导入模块？\n- 以一个例子说明Python中的继承。\n- 如何在Python中创建类？\n- Python中的猴子补丁是什么？\n- Python是否支持多重继承？\n- Python中的多态是什么？\n- 在Python中定义封装的概念？\n- 如何在Python中实现数据抽象？\n- Python是否使用访问控制修饰符？\n- 如何在Python中创建一个空类？\n- `object()`函数的作用是什么？\n- Python中的`map`函数是什么？\n- Python中NumPy数组比列表更好吗？\n- Python中的GIL是什么？\n- CPython与Python有何不同？\n- Python中的装饰器是什么？\n- 什么是对象驻留？\n- `@classmethod`、`@staticmethod`和`@property`分别是什么？\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F5-network.md\">\u003Cstrong>🌐 网络\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 请解释TCP\u002FIP协议栈的每一层。\n- 请比较OSI七层模型和TCP\u002FIP协议栈的区别。\n- 请对比帧、包、段和数据报。\n- 请解释TCP和UDP的区别。\n- 请对比TCP和UDP的头部结构。\n- 请比较并解释TCP的三次握手和四次挥手过程。\n- 为什么TCP的连接建立过程（3步）和连接终止过程（4步）步骤数量不同？\n- 如果服务器在发送FIN标志之前，由于路由延迟或丢包等原因导致先前发送的数据包晚于FIN包到达，会发生什么情况？\n- 为什么初始序列号ISN不从0开始，而是通过生成随机数来设定？\n- 请解释HTTP和HTTPS，并说明它们之间的区别。\n- 请解释HTTP请求\u002F响应头的结构。\n- 请比较HTTP和HTTPS的工作流程。\n- CORS是什么？\n- 请比较和解释HTTP的GET和POST方法。\n- 请解释Cookie和Session。\n- DNS是什么？\n- 请解释REST和RESTful的概念，并说明两者的区别。\n- Socket是什么？请用你熟悉的编程语言简单展示一个Socket创建的例子。\n- 请解释Socket.io和WebSocket的区别。\n- 请比较IPv4和IPv6的区别。\n- MAC地址是什么？\n- 请解释路由器、交换机和集线器的区别。\n- SMTP是什么？\n- 我用笔记本电脑访问了`www.google.com`。请详细描述从发出请求到接收响应的整个过程。\n- 请简要介绍几种常见的网络拓扑结构。\n- 请解释子网掩码。\n- 数据封装是什么？\n- 请解释DHCP。\n- 请介绍几种路由协议。（例如：链路状态、距离向量）\n- 以太网是什么？\n- 请解释客户端和服务器的区别。\n- 请解释延迟、时延抖动和吞吐量的区别。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F6-operating-system.md\">\u003Cstrong>🖥️ 操作系统\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 请告诉我进程和线程的区别。\n- 请解释为什么使用多线程而不是多进程。\n- 请解释缓存的局部性原理。\n- 请解释线程安全的概念。（提示：临界区）\n- 请比较互斥锁和信号量的区别。\n- 请解释调度器是什么，以及它如何分为短期、中期和长期调度。\n- 请简要介绍CPU调度算法，如FCFS、SJF、SRTF、优先级调度和RR。\n- 请解释同步和异步的区别。\n- 请简要介绍内存管理策略。\n- 请解释虚拟内存。\n- 请解释死锁的概念及其发生条件。\n- 请比较用户级线程和内核级线程。\n- 请解释外部碎片和内部碎片。\n- 请解释上下文切换是什么，并列出其过程。\n- 请解释交换技术。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F7-data-structure.md\">\u003Cstrong>🗂 数据结构\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 链表\n  - 单链表\n  - 双向链表\n  - 循环链表\n- 哈希表\n- 栈\n- 队列\n  - 循环队列\n- 图\n- 树\n  - 二叉树\n  - 满二叉树\n  - 完全二叉树\n  - 二叉搜索树\n- 堆（二叉堆）\n  - 最小堆\n  - 最大堆\n- 红黑树\n- B+树\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ca href=\".\u002Fanswers\u002F8-algorithm.md\">\u003Cstrong>🔻 算法\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fsummary>\n\n- 时间复杂度和空间复杂度\n- 排序算法\n  - 冒泡排序\n  - 选择排序\n  - 插入排序\n  - 归并排序\n  - 堆排序\n  - 快速排序\n  - 计数排序\n  - 基数排序\n- 分治法\n- 动态规划\n- 贪心算法\n- 图\n  - 图遍历：BFS、DFS\n  - 最短路径\n    - Dijkstra\n    - Floyd-Warshall\n    - Bellman-Ford\n  - 最小生成树\n    - Prim\n    - Kruskal\n  - 并查集\n  - 拓扑排序\n\n\u003C\u002Fdetails>\n\n---\n\n\n\n## 贡献者\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fboostcamp-ai-tech-4\u002Fai-tech-interview\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fboost-devs_ai-tech-interview_readme_124843374a14.png\" \u002F>\n\u003C\u002Fa>\n\n---\n\n## 参考资料\n\n- [zzsza的Datascience-Interview-Questions](https:\u002F\u002Fgithub.com\u002Fzzsza\u002FDatascience-Interview-Questions)\n- [DopplerHQ的awesome-interview-questions](https:\u002F\u002Fgithub.com\u002FDopplerHQ\u002Fawesome-interview-questions)\n- [JaeYeopHan的Interview_Question_for_Beginner](https:\u002F\u002Fgithub.com\u002FJaeYeopHan\u002FInterview_Question_for_Beginner)\n- [WeareSoft的tech-interview](https:\u002F\u002Fgithub.com\u002FWeareSoft\u002Ftech-interview)","# ai-tech-interview 快速上手指南\n\n`ai-tech-interview` 是一个开源的 AI 技术面试题库，涵盖了统计\u002F数学、机器学习、深度学习、Python、网络、操作系统、数据结构和算法等核心领域。本项目主要以 Markdown 文档形式存在，无需复杂的运行环境，旨在帮助开发者系统性地准备技术面试。\n\n## 环境准备\n\n由于本项目本质上是文档集合，对系统环境要求极低：\n\n*   **操作系统**：Windows, macOS, Linux 均可。\n*   **前置依赖**：\n    *   **Git**：用于克隆代码仓库。\n    *   **Markdown 阅读器**（可选）：推荐使用 VS Code、Typora 或 GitHub 网页版直接阅读。\n    *   **浏览器**：若使用官方提供的 Streamlit 在线练习版，仅需现代浏览器。\n\n## 安装步骤\n\n### 方式一：本地克隆（推荐用于离线查阅或贡献内容）\n\n打开终端（Terminal 或 CMD），执行以下命令拉取最新代码：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview.git\ncd ai-tech-interview\n```\n\n> **国内加速提示**：如果访问 GitHub 速度较慢，可以使用国内镜像源（如 Gitee 镜像，若有）或通过代理加速克隆过程。若无特定镜像，建议配置 Git 全局代理或使用 `ghproxy` 等工具：\n> ```bash\n> git clone https:\u002F\u002Fghproxy.com\u002Fhttps:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview.git\n> ```\n\n### 方式二：在线直接使用\n\n无需安装，直接访问项目维护者部署的 Streamlit 应用进行交互式练习：\n\n*   **在线地址**：[AI Tech Interview 练习平台](https:\u002F\u002Fai-tech-interview.streamlit.app\u002F)\n\n## 基本使用\n\n### 1. 本地查阅题库\n\n克隆完成后，进入项目目录，根据面试方向查看对应的 Markdown 文件。所有答案详解均位于 `.\u002Fanswers\u002F` 目录下。\n\n**查看统计与数学面试题：**\n```bash\ncat answers\u002F1-statistics-math.md\n# 或在 VS Code 中打开该文件获得更好的阅读体验\ncode answers\u002F1-statistics-math.md\n```\n\n**查看机器学习面试题：**\n```bash\ncat answers\u002F2-machine-learning.md\n```\n\n**目录结构说明：**\n*   `1-statistics-math.md`: 统计\u002F数学基础\n*   `2-machine-learning.md`: 机器学习核心\n*   `3-deep-learning.md`: 深度学习原理\n*   `4-python.md`: Python 语言特性\n*   `5-network.md`: 计算机网络\n*   `6-operating-system.md`: 操作系统\n*   `7-data-structure.md`: 数据结构\n*   `8-algorithm.md`: 算法\n\n### 2. 在线模拟面试\n\n访问 [Streamlit 在线平台](https:\u002F\u002Fai-tech-interview.streamlit.app\u002F)，界面将随机或按类别展示面试问题。你可以：\n1.  点击题目尝试自我回答。\n2.  展开查看详细解析和参考答案。\n3.  利用碎片时间（如通勤途中）进行移动端练习。\n\n### 3. 参与贡献（可选）\n\n如果你希望补充答案或修正错误，请遵循以下步骤：\n\n1.  Fork 本仓库到你的账户。\n2.  在本地修改对应的 `.md` 文件。\n3.  提交 Pull Request (PR)。\n    *   **注意**：提交前务必阅读 [PR 撰写规则](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F182)，不符合规范的 PR 可能会被拒绝。\n    *   反馈与建议也请通过 PR 形式提交，参考 [反馈请求方法](https:\u002F\u002Fgithub.com\u002Fboost-devs\u002Fai-tech-interview\u002Fdiscussions\u002F181)。\n\n此外，项目还维护了一份 [GitBook 版本](https:\u002F\u002Fboostdevs.gitbook.io\u002Fai-tech-interview\u002F)，适合喜欢书籍排版风格的读者阅读。","刚毕业的数据科学专业学生金敏俊正在全力准备韩国大型科技公司的 AI 工程师面试，面对涵盖统计、数学及机器学习的广泛考点，他急需系统化的复习策略。\n\n### 没有 ai-tech-interview 时\n- **复习范围模糊**：面对海量的理论知识，不知道面试官究竟会问多深，常在“特征值”或\"Bootstrap\"等基础概念上浪费过多时间钻牛角尖，却忽略了核心考点。\n- **缺乏实战模拟**：只能对着教科书死记硬背公式定义，无法将“贝叶斯与频率学派的区别”或\"PCA 的多重意义”转化为流畅的口语表达，一开口就卡壳。\n- **知识体系割裂**：统计学与机器学习知识点分散在不同书籍中，难以建立如“从分布特性到模型选择”这样的逻辑关联，回答问题时缺乏深度。\n- **反馈机制缺失**：独自练习时无法判断对\"P-value\"或“过拟合”的解释是否准确，容易形成错误的认知惯性而不自知。\n\n### 使用 ai-tech-interview 后\n- **考点精准定位**：直接参考仓库中整理好的高频题库，迅速锁定“统计\u002F数学”与“机器学习”两大核心板块，明确知道需重点掌握“正则化方法”及“集成学习”等必考题。\n- **场景化应答训练**：利用仓库中“向高中生解释马尔可夫链”等具体案例进行模拟演练，学会了用通俗易懂的语言阐述复杂算法，大幅提升了面试时的沟通自信。\n- **构建知识网络**：通过研读关于\"LSA、LDA、SVD 关系”及“各类分布关联性”的深度解析，将零散知识点串联成网，能够从容应对考察理论深度的追问。\n- **社区协同纠错**：参照社区维护的标准答案和 PR 讨论区，及时修正了自己对“偏差 - 方差权衡”理解的偏差，确保回答的专业度与业界标准对齐。\n\nai-tech-interview 将原本杂乱无章的备考过程转化为目标清晰、实战导向的系统训练，帮助求职者从“死记硬背”蜕变为“融会贯通”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fboost-devs_ai-tech-interview_66f19e13.png","boost-devs","BoostDevs","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fboost-devs_12dd79c0.png","👩‍💻 BoostCamper에서 BoostDev로 👨‍💻",null,"https:\u002F\u002Fgithub.com\u002Fboost-devs",2301,509,"2026-04-08T06:03:09","MIT","","未说明",{"notes":89,"python":87,"dependencies":90},"该项目是一个包含 AI 技术面试问题的知识库（Markdown 文档集合），并非可执行的软件工具或模型，因此没有特定的操作系统、GPU、内存或 Python 依赖库要求。用户可以直接在 GitHub 上阅读，或通过提供的 Streamlit 链接在线访问。",[],[18],[93,94,95,96,97],"tech-interview","study","artificial-intelligence","python","computer-science","2026-03-27T02:49:30.150509","2026-04-10T01:03:36.998007",[],[]]