Shell's Home

Jun 15, 2012 - 1 minute read - Comments

快速深入一门语言的几个问题

劳资明天要结婚了,今天婚前最后一个blog。

1.hello, world

目标:屏幕上打印出hello, world。

原因:不解释。

进阶:当命令行给与不同参数的时候,打印hello,

名字。给与开关的时候,打印hello, 123。

2.正则提取

目标:写一个正则表达式(或者类似的东西),从一段网页源码中找到某个标签的内容,去掉前后空格,显示。

原因:测试字符串处理能力。

进阶:支持正则扩展

3.扫描排重

目标:将某个目录和子目录下的所有文件扫描,排除重复的文件。

原因:测试文件系统操作能力。

进阶:多线程处理,注意吞吐颠簸。

4.做24点自动计算程序

目标:写一个程序,能够计算24点。要求能够自定义扩展算符。

原因:检查深度优先搜索,栈,结构设计,抽象处理能力等等。

进阶:做并发处理。有数种语言可能无法实现并发,或并发实现难度大,不美观,例如python。

5.做一个计算器

目标:做一个计算器,要求能计算1+2*3=7,并支持()。

原因:表达式解析和处理需要用到程序的方方面面,字符串处理等等。

进阶:做一个本语言的eval函数出来。

7.抓网页

目标:实现一个服务,定期下载符合规则的一批网页,解析,获得格式化的数据,并存入数据库。

原因:测试系统开发能力,基础网络库,字符串处理能力。

进阶:分布化抓取。

8.留言板

目标:设计一个留言板,将所有人提交的话保存起来,能一并展示。提交不需验证,展示不需分页。

原因:测试网络服务能力,数据库支持和多国语言支持。

进阶:防止XSS攻击。

9.异步大并发服务器

目标:设计一个异步http服务器,能对请求做出响应,添加,删除,修改数据库中的数据。不得使用现有的http框架和容器。

原因:集成性测试

进阶:不使用现有数据库,自己写一个。。。