菜单

编程语言资源

相关源文件

本文档概述了 Coding Interview University 存储库中提供的编程语言资源。它是一个精选的学习材料、参考资料和工具的集合,旨在帮助您在技术面试中掌握您所选择的编程语言。

目的与范围

编程语言资源部分旨在

  1. 帮助您为编码面试选择合适的编程语言
  2. 为您的选定语言提供全面的学习材料
  3. 提供备查表和文档链接等参考材料
  4. 为每种语言提供针对面试的资源

本页面专门介绍与语言相关的资源。有关计算机科学基础、数据结构、算法和面试准备策略的信息,请参阅 核心学习计划

来源: programming-language-resources.md1-2

语言选择框架

在准备技术面试时,选择正确的编程语言至关重要。下图说明了如何在整体面试准备策略中处理语言选择。

来源: programming-language-resources.md

资源类型概览

编程语言资源分为几类,如下所示

来源: programming-language-resources.md

特定语言资源

C

C 编程语言资源包括

资源类型描述来源
备查表ANSI C 参考卡programming-language-resources.md4
书籍K&R C 书 (ANSI C), Let us Cprogramming-language-resources.md5-12
教程Complete C programming for beginners, Learn C in Detailprogramming-language-resources.md13-14
工具Make, Clang, GDB, Valgrindprogramming-language-resources.md6-11
面试问题热门 C 编程面试问题programming-language-resources.md7

来源: programming-language-resources.md3-14

C++

C++ 资源包括面向初学者和高级用户的综合材料

资源类型描述来源
备查表C++ 备查表, STL 快速参考programming-language-resources.md17-18
核心概念基础知识、指针、类、函数、模板programming-language-resources.md19-27
高级主题面向对象编程 (OOP),STL,仿函数programming-language-resources.md28-30
风格指南Google C++ 风格指南programming-language-resources.md32-33
书籍Let us C++, C++ Primerprogramming-language-resources.md36-37
教程C++ 初学者教程programming-language-resources.md38
面试问题C++ 面试问题programming-language-resources.md39

C++ 部分特别提供了关于指针、模板和编译等具体概念的教程链接。

来源: programming-language-resources.md16-39 extras/cheat sheets/Cpp_reference.pdf extras/cheat sheets/STL Quick Reference 1.29.pdf

Python

Python 资源旨在为初学者和希望优化代码的人士提供服务

资源类型描述来源
备查表Python 备查表, Coding Interview Essentialsprogramming-language-resources.md41-50
教程Python in One Video, Series on 3.4programming-language-resources.md42-43
高级主题Statistics for Hackers, Faster Python, Pythonic Codeprogramming-language-resources.md44-47
书籍Automate the Boring Stuff with Pythonprogramming-language-resources.md49
数据结构Python 中的数据结构与算法programming-language-resources.md51
通用指南Python 编程教程, Python 初学者指南programming-language-resources.md52-54
面试问题Python 面试问题programming-language-resources.md53

Python 资源包含专注于编写高效且符合 Python 习惯的代码的材料,这在面试场景中尤其有价值。

来源: programming-language-resources.md40-54 extras/cheat sheets/python-cheat-sheet-v1.pdf

Java

Java 资源侧重于基础知识和算法实现

资源类型描述来源
课程斯坦福 CS106A - 编程方法学programming-language-resources.md56
备查表Java 备查表programming-language-resources.md57
书籍Introduction To Programming In Java, Algorithms 4th Ed, Effective Java 3rd Editionprogramming-language-resources.md58-60
数据结构Data Structures Easy to Advanced Course, Data Structures in Javaprogramming-language-resources.md61-63
面试问题热门 Java 面试问题与答案programming-language-resources.md62

Java 资源高度强调数据结构,这对编码面试至关重要。

来源:programming-language-resources.md55-63

Go

Go (Golang) 资源侧重于语言基础和最佳实践

资源类型描述来源
官方资源The Go programming Language (网站), A Tour of Go, Effective Goprogramming-language-resources.md65-68
哲学Go at Google, Go Proverbsprogramming-language-resources.md70-72
实践Gophercises - Go 编码练习免费课程programming-language-resources.md73

来源:programming-language-resources.md64-73

Web 开发语言

HTML

资源类型描述来源
备查表HTML 速查表programming-language-resources.md75
教程快速 HTML 入门教程, HTML 快速课程programming-language-resources.md76-77
综合指南详细学习 HTML, HTML 和 HTML5 基础programming-language-resources.md78-79
参考W3 Schoolsprogramming-language-resources.md80
面试问题HTML 面试问题programming-language-resources.md81

来源:programming-language-resources.md74-81

CSS

资源类型描述来源
教程快速 CSS 入门教程, CSS 快速课程programming-language-resources.md83-84
实践基础 CSSprogramming-language-resources.md85
参考W3 Schoolsprogramming-language-resources.md86
面试问题30 多个 CSS 面试问题programming-language-resources.md87

来源:programming-language-resources.md82-87

JavaScript

资源类型描述来源
备查表JavaScript 速查表programming-language-resources.md89
教程12分钟学会 JavaScript, JavaScript 初学者教程programming-language-resources.md90-91
算法JavaScript 算法与数据结构, 带解释的 JavaScript 算法programming-language-resources.md92-93
综合指南从零开始学习 JavaScriptprogramming-language-resources.md94
面试问题JavaScript 面试问题和答案programming-language-resources.md95

来源:programming-language-resources.md88-95

其他语言

Rust

资源类型描述来源
书籍Rust 编程语言programming-language-resources.md97
教程Rust 示例, Doug Milford 的 Rust 教程programming-language-resources.md98-99
概述Rust 简介 - 简单 Rust, Rust 概述programming-language-resources.md100-101
入门指南Rust 温柔入门programming-language-resources.md102

来源:programming-language-resources.md96-102

Ruby

资源类型描述来源
书籍Ruby 编程语言, 精炼 Ruby 编程programming-language-resources.md105-106
专项资源Ruby Fu, Ruby Koansprogramming-language-resources.md107-108

来源:programming-language-resources.md104-108

资源类型分布

下图说明了资源类型在各种语言中的分布情况

来源: programming-language-resources.md

面试语言选择

选择编码面试的编程语言时,请考虑以下标准

  1. 熟悉度:如果可能,请选择您已经熟悉的语言
  2. 简洁性:语法直观的语言更佳
  3. 内置数据结构:拥有丰富内置集合的语言可以节省时间
  4. 行业相关性:考虑目标公司常用的语言
  5. 表达力:能够简洁解决问题的语言更具优势

下表对流行的面试语言进行了比较分析

语言优势注意事项最佳用途
Python丰富的库,简洁的语法,内置的数据结构某些操作可能较慢通用问题,数据操作
Java强类型,健壮的集合,广泛认可更冗长,样板代码企业面试,面向对象设计
C++高性能,STL,细粒度控制学习曲线陡峭,内存管理性能关键问题,底层面试
JavaScript无处不在,灵活,函数式范式动态类型可能导致问题面向 Web 的职位,函数式编程
Go简单的语法,垃圾回收,并发与某些替代品相比库较少系统编程,并发问题

来源: programming-language-resources.md

学习计划中的资源整合

要在您的整体面试准备中有效利用这些编程语言资源,请遵循此整合方法

来源: programming-language-resources.md

结论

Coding Interview University 仓库中的编程语言资源提供了全面的材料,帮助您掌握为技术面试所选定的编程语言。通过结合这些资源和核心学习计划,您可以培养在编码面试中取得成功所需的语言熟练度和算法思维。

请记住,虽然语言熟练度很重要,但理解基本数据结构和算法仍然是面试准备的基石。利用这些语言资源,有效地、地道地表达您的算法解决方案。