从今天起,需要重新塑造自己了。在最近一个月写毕业论文的期间,不断充实自己。
结实Python是在找工作中,面试题目是两个Python程序,写好后将代码发送过去。
那时也仅仅是听过这个语言,对其没有任何的认识。在学校基本不会涉及此类语言,还好凭借着学过C语言和Java等的基础,用了一夜边了解语言边进行开发。可惜没有被录取,可能是算法的问题(后面将两道题附上)。但是感觉到Python是如此的强大,利用C语言编写一个通信程序是那么的复杂,而Python仅仅几行搞定。
终于抽出时间,可以好好的学习一下Python了,制定学习计划如下:
1.学习方法:阅读官方网站英文原版的 The Python Tutorial
2.完成目标:(1)处理文件的小程序(熟悉解析文档:string和re模块,学会正则表达式)
(2)遍历本地文件系统
(3)一个小脚本统计数据库里条目数量
(4)从网页抓取数据。(有urllib和urllib2这两个模块外加re模块)
(5)网络通信程序
3.预计时间一个月,deadline:2013.01.31
最后附上面试时的两道题:
1. spam系统
假设我们可以获得线上的实时请求(按时间顺序)
每个请求包含如下信息:
时间(unix时间戳)
用户名
动作(提问、回答、评论)
内容
依次考虑如何解决以下问题:
1.当发现动作频率较高的用户时,输出报警(1分钟内超过10次评论、回答、提问)
2.当发现一个用户连续发重复的内容时,输出报警(连续发了10个相同的评论、回答、提问)
3.使用你觉得最优美的方法将上面的策略与程序分离开。使得上面的策略可以随时更新而不用修改程序。
要求:
服务监听一个端口,使用测试程序模拟用户行为不断向服务发送请求,
请求格式为json如
{"time":1323333"user":"xxx","action":"answer","content":"abcde"}
服务输出报警格式如下
xxx,"频繁提问"
代码在
http://download.csdn.net/detail/guoxuequan/4961297
2. 设计一个抽奖服务
背景:有x个奖品,要求在y天内发完;每天至少发放z个奖品;每天抽奖人数不定,事先会假设一个范围是m-n
举例:有100个奖品,要求5天内发完,每天至少发15个奖品;每天来抽奖的人估计是 2000-3000 人,希望奖品能够比较均匀,但随机的抽取出来。
接口要求:服务监听一个端口,测试程序不断连接,发送一个数字代表是第几天,比如第1-2000个请求发送1(模拟第一天来了2000人),第2001到5000请求发送2(模拟第二天来了3000人)... 服务返回 0 or 1 表示是否抽到奖品
代码在
http://download.csdn.net/detail/guoxuequan/4961311
希望有感兴趣的可以与我交流