ScrewCode的名字来源于“面试造火箭,入职拧螺丝”。与其他侧重算法的在线学习平台不同的是,ScrewCode更侧重于提供最真实的工程场景——一旦你能解决ScrewCode中的问题,你就能轻松解决真实工作中的挑战。ScrewCode利用Travis CI实现了自动判题系统,你可以通过提交Pull Request的方式做题并获得答案是否正确的反馈。你可以通过ScrewCode来学习Git和Github的相关流程,同时,提交Pull Request还能为你的首页点亮小绿点。
这是与饥人谷合作的视频课程的配套习题,你可以在这里获得视频教学。
本仓库提供与Java Collection相关的工程代码习题,每个习题放在一个分支上,习题列表如下:
- 求两个整数List的公共元素
Easy
- 求两个对象List的公共元素
Easy
- 修复Bug: equals/hashCode抛出的NullPointerException
Medium
- 修复Bug: 错误的equals实现
Medium
- 修复Bug: 错误的hashCode实现
Hard
- 修复Bug: 字符串字符去重
Easy
- 修复Bug: HashMap数据丢失
Hard
- 按照多个字段进行排序
Easy
- 修复Bug: 错误的compare实现
Medium
- 修复Bug: 错误的Comparable实现
Easy
- 修复Bug: 多线程环境下ArrayList的并发问题
Easy
- 修复Bug: 多线程环境下HashSet的并发问题
Easy
- 修复Bug: 多线程环境下TreeSet的并发问题
Easy
如果你没有Git和GitHub的经验,那么不妨先试试我们的入门指南。