前段时间失业了,找工做的时候最深的两点体会是:java
一、虽然作过大项目,作过不少复杂业务功能,涉及过不少知识领域。可是都很难表达清楚。面试
二、笔试遇到不少算法题,作得都比较头疼(糟糕),不少都直接影响了面试结果。算法
第一点我明白是须要不断总结和积累的,第二点勾起了我对算法学习的兴趣。大学学算法的时候,脱离实践,只谈时间、空间复杂度和实现难度,学完了就忘了,那样枯燥的算法我确定不想再碰一遍。数据结构
偶然看到了Coursera的算法导论课程,遇到了大牛老师Robert Sedgewick,他的视频在网上下下来看了,虽然没有中文字幕,但看起来很是易懂(比大学老师说中文都容易懂。。。)eclipse
在写这篇文章的时候已经大约花了一个月时间,学到了字符串处理。算法第一部分(前三章)的Coursera题目已经在网上作完了,应该说例题也是很是经典。若是广大苦手算法的同窗能够考虑去看看,真心不错。函数
这里简单介绍下Algorithm这门课的习题方式和作习题可能遇到的问题,具体习题解答在以后的博客更新:单元测试
一、语言用JAVA,可是基本上C#上手很容易,我本人之前用过JAVA,如今主要用C#,基本感受不到区别。学习
二、做业上传zip包,只需包含要求的java类文件便可,上传无次数限制,上传后会自动编译测试,测试结果会过几分钟显示。测试结果基本不会很难懂,这个以后我会举例的。测试
三、官方推荐的开发环境是DrJava,虽然我用的是这个,但不是很推荐,由于默认版本好像是不能设置断点的。调试很麻烦,对新手来讲有点难用,我仍是推荐用eclipse,但我会介绍怎么用DrJava。spa
四、每一个做业有Specification和Checklist,前者是题目正文,后者是提示和常见问题,作题目第一个就足够了,若是看不懂题目、作不来或者过不了测试,能够求助第二个。
五、官方提供的algs4.jar import包相似C#中的include,相关的源码和接口文档在Specification和Checklist都有,能够查看,每一个项目都要用到,其它的JAVA数据结构我也不知道,因此我也没有引用。
六、实在苦手作不来的童鞋也能够去Coursera论坛上求助,尽可能不要太丢人就行。。。
第一步、下载安装就不说了。打开之后新建项目,和VS里同样,否则没法import jar包。
第二步、选择编译路径引入外部类,最重要的是要把algs4.jar文件的路径添加到Extra Classpath,这点搞了我很久。否则你代码里不能import。
第三步、写Class,一个Class一个文件
第四步、编译执行,先编译成中间文件,我理解和IL相似;只要有main函数,基本上均可以按如下方式执行,注意大小写敏感。
之前比较熟悉NUNIT,JUNIT的话差很少,可是DrJava支持的断言异常少,建议仍是不要用了。。基本上手工测测也够了