今天推荐 GitHub 上面一个特别火热的 Java 面试指南项目,项目名称为 interviews,里面涵盖几乎所有软件工程师面试时会遇到的问题以及答案,平常用来进行 Java 学习也是一个很不错的选择。
interviews 项目提供了以下几个模块的学习内容:
在线编程练习
在线模拟面试
数据结构
算法
位运算
算法复杂度分析
视频教程
面试书籍
计算机科学与技术资讯
1、在线编程练习
interviews 项目包含了在线编程练习模块,该模块提供了很多的编程练习平台,包括:
LeetCode
Virtual Judge
CareerCup
HackerRank
CodeFights
Kattis
HackerEarth
Codility
Code Forces
Code Chef
Sphere Online Judge - SPOJ
InterviewBit
好吧,上面这么多的编程练习平台我只练过 LeetCode。练熟上面任何一个练习平台的题目就已经可以吊打很多竞争者了...
2、在线模拟面试
这个模块提供了几个编程方面的模拟面试工具:
Pramp
Gainlo
Refdash
Interviewing.io
尤其推荐 Pramp,Pramp 是软件工程师自由点播的面试实践平台,给了程序员一个与真正的同行练习面试的机会。
3、数据结构
数据结构是程序员学习编程的地基,万丈高楼平地起,数据结构一定得学好啊!数据结构模块主要包含以下的内容:
Linked List
Stack
Queue
Tree
Binary Tree
Binary Search Tree
Trie
Heap
Graph
4、算法
算法模块包括排序的各种算法以及图算法,主要总结了这几种算法的用法、稳定性以及时间复杂度等方面的内容。其中总结的排序算法包括以下几种:
快速排序
归并排序
桶排序
基数排序
图算法:
深度优先搜索
广度优先搜索
拓扑排序
Dijkstra 算法
Bellman-Ford 算法
Floyd-Warshall 算法
Prim 算法
Kruskal 算法
5、算法复杂度分析
这个模块主要总结如何分析并且表示算法的复杂度。
6、视频教程
视频教程模块包含数据结构与算法的视频教学。
7、面试书籍
Competitive Programming 3 - Steven Halim & Felix Halim
Cracking The Coding Interview - Gayle Laakmann McDowell
Cracking The PM Interview - Gayle Laakmann McDowell & Jackie Bavaro
8、计算机科学与技术资讯
Hacker News
Lobsters
学完这个模块,在面试接近尾声时你就能跟面试官侃侃而谈计算机编程的历史与未来了
需要的去GitHub学习吧!项目地址:
https://github.com/kdn251/interviews
关注GitHub今日热榜,专注挖掘好用的开发工具,致力于分享优质高效的工具、资源、插件等,助力开发者成长!
点个在看 你最好看