一些对程序员有用的网站
在学习CS的时候有一些你必须知道的有用的站点来获取通知为了你的技术储备和学习新知识。这里是一个你应该访问的不是非常全面的一些站点的列表,这个列表会不断更新,只要我能得到链接,你也可以通过添加你知道的来为此做出贡献
Index
索引
- 当你遇到问题时
- 新闻篇
- 针对新手的代码训练
- 针对那些想开始一个小的项目但是无从下手的人
- 通用编码建议
- 编码风格
- 通用工具
- 面试准备
- 纪录片
- 学习新知识-mooc
- 与你首选的编程语言的站点(对我来说是java)
- AI学习
- 研讨会、研究性写作、会谈等
- Reddit知识汇总
- Youtube频道
- 好文章
- 播客
- 构建一个简单的编译器/解释器
- 教程
- 欣赏他人的代码
- 一个程序员应该知道的东西
- 编程比赛
- 计算机书籍
- 视频指南
- 在线编译和共享代码片段
- 开发者博客
- 用来提高你的英语
- 当你厌倦了CS相关的东西
当你遇到问题时
- Stack Overflow: 订阅他们的每周新闻和任何你感兴趣的主题
- Quora: 一个共享知识和更好的理解世界的地方
- Learn Anything: 帮助你找到学习任何知识时的最佳路径
新闻篇
- Hacker News: 针对程序员的新闻聚合,通过新闻稿获取头条新闻
- Hacker Newsletter : 手工编辑,周周更新
- Hacker News Digest : 根据你想要的频率自动处理
- Ars Technica : 发表的独特的精品文章
- ACM TechNews
- Lobsters : Lobsters是一个聚焦于技术的社区,主要是链接聚合和对话题进行讨论
- TechCrunch : 一个科技新闻的站点
- GSMArena.com : 与最新的移动手机和andriod相关的新闻
- product hunt : 寻找你最喜欢的东西
- AlternativeTo : 软件推荐
- Better Dev Links : 帮助你成为更好的开发者
针对初学者的代码练习
- freeCodeCamp : 学习编码并且为非营利性组织构建项目。打造你的全栈开发技能
- Reddit.com/r/dailyprogrammer : 有趣的编程挑战,在这里你能学习其他人的编码,对于你解决不了的编码你能看看其他人是怎么解决的
- Programming by Doing : 编程进阶站点
- CodeAbbey - 一个任何人都能精通编程的地方 : 从菜鸟到专家进阶之地
- Exercism.io : 用超过30种不同的语言解决实践问题,与其他人分享你的解决方案
- Programming Tasks : 小程序汇总
- karan/Projects-Solutions 用不同语言实现的项目
- Lod - Cloud : 开放数据云图
- Cave of programming : 学习编程,提升技巧
- Codeacademy : 交互式编码学习,免费
针对那些想开始一个小的项目但是无从下手的人
- martyr2s-mega-project-ideas-list : 包含125个项目,从初级到中级
- karan/Projects : 针对新手的小项目的汇总
- Wrong "big projects" for beginners : 怎样选择,从哪里开始
- vicky002/1000-Projects : 一个能够用任何编程语言解决的巨型项目清单
通用编码建议
- 我希望在我一开始学习编码的时候就能得到的一些建议 — Free Code Camp
- 一个程序员一生应遵循的原则
- 良好的编程原则
- 在计算机科学专业应该知道什么
- 如何成为一个程序员或谷歌搜索的艺术
- 代码审查最佳实践
- Dieter Rams : 好的产品设计的10个原则
- 成为一名优秀开发者的10种方法
- 软件开发者的工作
- 软件设计模式 : 设计模式的汇总
- 设计模式 : 用例子详细说明设计模式
编码风格
- CS 106B 编码风格指南 : 代码臃肿者必看
- google C++ 编码风格
- Airbnb JS 风格指南 : 写JavaScript最好的方式
- 建议初学者避免使用的坏的编码习惯?
- 优秀的 C 编码习惯 • /r/C_Programming
- 怎样高效的报告Bug
- 调试问题
- 你需要更好的代码!
- 在线CS课程目录
- CS课程目录(许多在线讲座)
通用工具
面试准备
- GeeksforGeeks | 针对geek的计算机科学入门 : 订阅他们获取新文章
- 一个技术面试题,逻辑题等的站点 : 各种让你思考的东西
- Problems | LeetCode OJ : 针对面试的编码训练
- 程序员和软件面试问答
- Reddit.com/user/ashish2199/m/puzzles : Reddit逻辑题
- 逻辑题答案汇总
- 资质问题与答案 : Quant and aptitude preparation
- 面试架构 - Java Honk
- 面试10大算法
- 算法设计流程
- 算法复杂度笔记
- unix/Linux笔记
- 怎样面试
- 怎样进行算法面试
- 优秀的逻辑题
- 通过动画可视化数据结构和算法
- 如何为技术面试做准备• /r/cscareerquestions
- 技术面试指南
- 为何你会赚钱少 • /r/cscareerquestions
- IIT Delhi实习经验
- 你的问题是什么?
- /r/cscareerquestions : 这是一个非常大的面试问题列表是我在为4大面试时用到的,我认为对大家也是有用的
- 华尔街面试
- 怎样准备一个面试 - 1
- 夏季实习:最终篇
- 25个最难的HR问题
- 求职面试新闻、视频、评论和八卦 - Lifehacker
- 如何回答最棘手的40个面试问题| ICS Job Portal
- 求职面试问题和最好的答案
- 怎样进行自我介绍 | The Art of Manliness
- 工作面试:如何做好求职面试|展示个人魅力
- 让你的简历改头换面
- 大家的误解
- 位操作技巧
- Java核心面试问题 - 每个主题的面试题
- Java面试问题与答案
- 面试准备时的链接的汇总 • /r/cscareerquestions
- 为求职者和雇主提供的建议
- 5个基本的电话面试问题 - steveyegge2
- CS9: CS技术面试中的问题解决
- Mission-peace/interview problems : 一个大的编码面试的问题的汇总
- 使用韦恩图进行SQL连接
- 10个最频繁的SQL查询面试问题
- 准备学习SQL篇:用语言描述一下数据库规范化 - Essential SQL
- 编程语言概念 课堂笔记 : 面向对象概念和编程语言概念
- We Help Coders Get Hired : 提供系统设计,面试策略,软件技能等的web站点
- 系统设计面试
- 如何进入科技企业-求职和面试指南
- 新人面试
- 一些有趣的C问题
- 一个站点提供技术面试题,逻辑题或者你想的其他内容
- wu :: riddles(hard) : 逻辑题
- https://github.com/odino/interviews : 面试重要问题列表
- svozniuk/java-interviews : Java面试题
- kimberli/interviews : 面试学习表格
- 确定不同循环的时间复杂度? :在stackoverflow上的一些好问题包括计算时间复杂度.
- ChiperSoft/InterviewThis : 在面试期间问到对公司的了解的问题
- SQL面试问题 : 好的SQL测试
纪录片
- 机器改变世界 - 关于计算机历史的纪录片
- 书呆子的胜利 : Play-list
- Project Code Rush - netscape/mozilla起源的纪录片
- Linux的故事
- Linux操作系统的故事
- Breaking the Code: Alan Turing传
- 机械计算机(All Parts) : 20世纪50年代的一个视频,说明了在没有现代电子的情况下机械计算机是如何工作的
- Download: 互联网的真实故事 : 发现频道关于浏览器战争和互联网泡沫的记录
- 自学计算机科学
- cpu如何执行程序(视频)
- 机器代码指令(视频)
- 哈佛大学 CS50 - 渐进学习 (视频)
- 攻破代码面试
- 攻破代码面试-全栈开发演讲者系列
- 什么都能问 Gayle Laakmann McDowell (程序员面试宝典的作者)
学习新知识-mooc
- 课程中心 : 超过10万名学生评价的目录
- NPTEL Vidoes COMP_SCI_ENGG
- Coursera.org
- edX
- MOOC.fi : 赫尔辛基大学在线课程
- Udacity
- Kadenze | Creative Programming: 注重艺术和创造力的编程课
- UCBerkeley
- 麻省理工学院电气工程和计算机科学
- CS50
- prakhar1989/awesome-CS-courses : CS课程大汇总
- 计算机科学资源 : 针对自学者的mooc列表
- https://github.com/prakhar1989/awesome-courses/blob/master/README.md : 网上CS课程的收集
与你偏爱的编程语言相关的网站(对我来说是Java)
- Java的过去 : 学好Java准备面试
- The Java™ Tutorials : 最好的Java手册
- Java Corner at Artima.com
- Java Visualizer : 帮助将引用,值,变量可视化
- Java课程笔记 * Learning Java : 一个免费的在线学习Java语言的教材
- 免费在线的章节用来学习java虚拟机
- 理解JVM
- 垃圾搜集如何工作
- Welcome to JavaWorld.com
- Java内存模型
- Netbeans的键盘快捷键 : 键盘快捷键能够使你在工作时提高生产力
- XyzWs Java FAQs : Java面试题汇总
- 搜索开源的Java API : 浏览Java库的源代码,并且学习如何实现
- JournalDev - Java, Java EE, Android, Web Development Tutorials
- 算法、数据结构、面试问题和答案的实现
- 垃圾回收是什么 : 动态垃圾搜集
- 学习java的最好的书 : Java基础
- 垃圾搜集(Java); 扩展数据结构 (视频)
- 编译器(视频)
- 深入Java:垃圾回收!
- C++编程语言 : C++编程语言
- Bjarne Stroustrup's FAQ : The C++ FAQ
- Bjarne Stroustrup's C++风格和技术问答 : C++问答
- C++11 -新的ISO C++ 标准 : C++11问答
AI学习
研讨会、研究性写作、会谈等
Reddit知识汇总
- reddit.com/user/ashish2199/m/cs_student_subs : 在reddits中计算机科学和编程相关的主题
youtube频道
- Computerphile : 每个CS学生都应该看
- ComputerHistory : 针对那些想知道如何达成目标的人
- GoogleTechTalks : 关于热门话题的视频和在技术界的一些趣事
- Placement Grid : 面试及校园实习经验
- Google Developers
- Facebook Developers
- O'Reilly : 世界最佳技术作家访谈录
- Java : 有关Java的会谈
- JavaOne : Java会议
- CppCon : C++会议
- Meeting C++ YT Kanalseite : C++会议
- ThinMatrix : 开发者在java中使用OpenGL制作的一个3D游戏的博客和指南
- yegor256
- Scott Meyers: Past Talks
- thoughtbot : 谈论各种话题
- code::dive conference : 诺基亚技术中心组织的会议
- HowToBecomeTV : 与技术界相关的开发人员的好的面试
- ITCuties
- CodeBabes : 针对那些认为CS缺乏魅力的人
- Coding Blocks : 指南,技巧
好文章
- 初级开发者的想法
- 提升编码技巧的关键
- 一位软件开发者的阅读列表 : 这是一些好书和链接
- 如何破解科技求职和面试
- 白话40个关键的计算机科学概念
- 每个程序员都应该了解的关于内存的内容
- 我们正在通过创新重塑零售业
- Unicode
- 每个程序员都需要知道的关于在文本中设置编码和字符的内容
- 算法清单
- 深入字节码
- 每种计算机科学专业应该知道什么
- 自学计算机科学
- 数据机构图
- 关于图论的一个介绍
- Linux Inside
- 一个对程序员友好的语言
播客
- Coding Blocks - 学习go的概念模式以及最佳实践
- 我的开发展示
- 孤独的开发者
- Herding Code
- Code Newbie
- 软件工程师的无线电频道
- javascript论坛
- 开发者茶话会 : 为开发者设计的播客
构建一个简单的编译器/解释器
教程
- Tutorialspoint
- W3Schools在线Web教程
- Open Data Structures : 用来学习数据结构和算法的优秀的资源提供了C++ , Java等各种语言的伪代码
- Data Structures and Algorithms by John Morris : 其他的优秀代码和对它的分析
- CMSI 281: Data Structures : 针对数据结构的轻量级的说明
- How to Program in C++ : 怎样学习C++编程,关于学习C++的好资源
- TopCoder Tutorials
- A Hacker's Guide to Git : 为那些想学习git的人打下坚实的基础
- Git从入门到精通
- 10分钟搞定UNIX
- The Bash Guide : 学习Bash Shell的优秀教程
- Linux Tutorial : 学习Linux的好资源
- UNIX Tutorial - Introduction
- 针对新手的Linux教程
- 学习Shell
- Dynamic programming - PrismoSkills : 学习如何解决动态规划问题
- 深入学习C语言 : very good presentation on C language
- 语言中最频繁遇到的问题
- OS Course Notes : Galvin's书的章节笔记
- SQL (Structured Query Language) in one page : SQL.SU : 结构化查询语言,一个非常好的SQL记录表
- C编程说明
- MySQL Essentials
- http://www.mysqltutorial.org/
- Best Of - Gustavo Duarte : 包含各种主题的文章
- Collecting all the cheat sheets : 大量编程语言的接口表
- The Descent to C : 针对那些从高级编程语言像java或者python迁移到C的人
- VimTutor+ : 从浏览器上学习VIM
- HackerEarth Tutorials : 一些数据结构和算法教程的资源
- Linux Journey : 学习Linux的好的站点
- C Programming
- CS 2112/ENGRD 2112 Fall 2015 : 数据结构和算法笔记
- More about Github-flavored markdown
- Unix编程环境
- Linux命令行:一个完整的说明
- TCP/IP图解
- 设计模式
- 设计模式:可重用面向对象的软件的基础 : aka the "Gang Of Four" book, or GOF
- UNIX和Linux系统管理员手册 第四版
- 从新手到专家-编程、web开发、DevOps新闻,教程和工具
欣赏他人的代码
- LiveEdu.tv : 构建应用,网站游戏等人的视频
一个程序员应该知道的东西
- Programmer Competency Matrix : 一篇用来了解我们作为程序员的水平的文章
- GitHub.com Build software better, together : 向其他人展示你的项目和与人协作的地方(为了更高效的使用它必须知道Git
- Gitlab用来提供免费且无限制的私有库和不受限制的团队协作.
编程比赛
- HackerRank
- Codeforces
- topcoder
- UVa Online Judge : 支持多种语言的数百个问题。
- HackerEarth - Programming challenges and Developer jobs
- CodeChef
- PKU ACM ICPC Practice problems
- Archived Problems - Project Euler * Google Code Jam Practice and : 之前比赛的练习题
- Sphere Online Judge (SPOJ)
- Art of Problem Solving
- Riddles.io AI Games : 与机器人比赛并获取积分
- Codingame : 通过游戏和挑战学习编程
- Codewars : 根据完成的代码排名
计算机书籍
* IT eBooks - Free Download - Big Library : 无广告且能立即下载的电子书下载网站
- github.com/vhf/free-programming-books : 超过500本免费电子书几乎包括你能想到的所有语言 * Computer Science Books Online : 大约150本计算机方面的电子书
- Best books for GATE CSE
- https://cses.fi/book.html
- Library Genesis : 几乎包含你能想到的任何电子书,包含大量的CS文档和手册
视频指南
- Tushar Roy : 数据结构和算法教程
- Derek Banas : 高质量教程
- thenewboston : 与谈话内容相比有更多干货
- mycodeschool : 数据结构和算法教程
- CodeGeek
- CodingMadeEasy : C++教程
- XDA-University - Helping You Learn Android Development
- DevTips : web开发教程
- codedamn : 前端web开发教程
- 算法设计和分析
- Vim Tutorial Videos - Flarfnoogins : 学习vim的优秀的视频教程
- CS1: Higher Computing - Richard Buckland UNSW : 一个非常优秀的介绍CS的课程
- Kathryn Hodge : 针对初学者的好的视频
在线编译和共享代码片段
- CodePad : 支持代码编写,测试和运行,支持超过25种语言
- JSFiddle : 在线测试你的javascript,CSS,HTML或者CoffeeScript
- Ideone.com
- Pastebin.com
- Godbolt.org : 一款非常优秀的工具用来探索在不同编译器没有优化时的输出
开发者博客
- Coding Horror : 一个最好的编程博客
- WildMl : 一个机器学习的博客
- Joel on Software
- Stephen Haunts { Coding in the Trenches }
- 在21世界编程
- Clean Coder Blog : 《代码整洁之道》一书作者的博客
- Programming Blog : Yegor Bugayenko的编程博客
- 10K-LOC
- http://stevehanov.ca/blog/
- Geek Land
- Late Developer
- IT Enthusiast
- blog.might.net
- CSE Blog - quant, math, computer science puzzles
- Small Programming Challenges and Puzzles
- My Tech Interviews
- HackerEarth Blog
- Algo-Geeks
- CoderGears Blog Insights from : the CoderGears Team
- blog.might.net
- Runhe Tian Coding Practice
- Paul Graham Essays
- Dan Dreams of Coding
- Antonio081014's Algorithms Codes
- Math ∩ Programming
- Takipi Blog : mainly focuses on Java and JVM languages
- Coding Geek - A blog about IT, programming and Java
- Daedtech.com : Stories about software
- Archives — Ask a Manager : HR related stuff
用来提高你的英语
当你厌倦了CS相关的东西
- r/ProgrammerHumor : reddit的子论坛致力于听
- Guide to Grammar and Writing 针对那些想提高他们的英语技巧的人
- Vsauce : 最好的youtube频道
- TED : 关于技术,娱乐和设计的伟大演讲
- CrashCourse : 各种科目的小班课程
- National Geographic : 来自世界各地的高品质内容
- Barcroft TV : 构成世界的各种各样的人的短小的纪录片
- ColdFusion : 过去的当前的以及未来的技术
- SmarterEveryDay : 用高速相机捕获的关于我们周围世界的大量的惊人的科学信息
- SciShow : 你总是想知道的一些有趣问题的答案
- Big Think : 专家驱动,内容可选,专家从总统到演员
- Every Frame a Painting : 高质量的电影分析
- TestTube News : 来自全世界的有趣的新闻
- Reddit the front page of the internet : 适合有大把空闲时间的人