笔试测试开发题三道(python)
2014-06-11 18:14
260 查看
笔试遇到的三道测试开发题,虽然都不难,但关键还是思路吧!我想在开发东西的时候应该具备的就是思路,有了思路尝试去写,或查相关文档或代码,在此基础上需要不断调整最终达到需求。思路又是在不断练习中获得的。
在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。
再说明的一点是,对于下面的问题,有的要求用php,有的要求java,但我用python实现的。很多时候公司并不是在意你必须用哪种语言去实现,语言只是工具,用来解决问题了,关键是否有思路。
验证邮箱格式
验证邮箱的格式,不同语言的实现大同小异,通过正则表达式是最快捷的匹配方式,但对于不熟悉正则的同学看着一长串匹配符还是比较头痛的,其实也没那么恐怖。
熟悉python 中正则表达式的常用个匹配符
先看一下邮箱的一般格式:
x@x.x
x 表示一个或多个字符或数字。
1)第一个x可以字母数字
2)第二个x可以字母数字
3)第二个x可以字母,如.com,.cn,.net...等结尾
“@”和“.” 把内x拆成三部份。
整个邮箱长度最少等于5个字符。
代码如下:
运行结果:
获得一个URL地址的扩展名
如:
http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 的扩展名为html
对于这个问题同样使用正则式来解决
运行结果:
获得当前时间的前一天(或前一秒)
如果当前时间为:2014-6-11 17:12:45
前一天为:2014-6-10 17:12:45
前一秒为:2014-6-11 17:12:44
运行结果:
======
这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。
在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。
再说明的一点是,对于下面的问题,有的要求用php,有的要求java,但我用python实现的。很多时候公司并不是在意你必须用哪种语言去实现,语言只是工具,用来解决问题了,关键是否有思路。
验证邮箱格式
验证邮箱的格式,不同语言的实现大同小异,通过正则表达式是最快捷的匹配方式,但对于不熟悉正则的同学看着一长串匹配符还是比较头痛的,其实也没那么恐怖。
熟悉python 中正则表达式的常用个匹配符
先看一下邮箱的一般格式:
x@x.x
x 表示一个或多个字符或数字。
1)第一个x可以字母数字
2)第二个x可以字母数字
3)第二个x可以字母,如.com,.cn,.net...等结尾
“@”和“.” 把内x拆成三部份。
整个邮箱长度最少等于5个字符。
代码如下:
#coding=utf-8 import re ''' [a-zA-Z0-9] 匹配大小写字母与数字 [a-zA-Z] 匹配大小写字母 \@ a\@b a@b (字符转义) \. a\.b a.b (字符转义) ''' def emails(e): if len(e)>= 5: if re.match("[a-zA-Z0-9]+\@+[a-zA-Z0-9]+\.+[a-zA-Z]",e) !=None: return '邮箱格式正确!' return '邮箱格式有误' e = raw_input("请输入email:") print e a = emails(e) print a
运行结果:
>>> ================================ RESTART ================================ >>> 请输入email:12@22.22 12@22.22 邮箱格式有误 >>> ================================ RESTART ================================ >>> 请输入email:xx@xx.com abc@126.com 邮箱格式正确! >>> ================================ RESTART ================================ >>> 请输入email:123@126.com 123@126.com 邮箱格式正确! .......
获得一个URL地址的扩展名
如:
http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 的扩展名为html
对于这个问题同样使用正则式来解决
import re def strings(url): listt = ['.php','.html','.asp','.jsp'] for lis in listt: suffix = re.findall(lis,url) if len(suffix)>0: return lis url = 'http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html' a = strings(url) print a
运行结果:
.html
获得当前时间的前一天(或前一秒)
如果当前时间为:2014-6-11 17:12:45
前一天为:2014-6-10 17:12:45
前一秒为:2014-6-11 17:12:44
#coding=utf-8 import time import datetime #打印当前时间 print time.ctime() #当前时间 now_time = datetime.datetime.now() print now_time #昨天的现在 yesterday = now_time + datetime.timedelta(days = -1) print yesterday #现在的前一秒 now_old = now_time + datetime.timedelta(seconds = -1) print now_old
运行结果:
Wed Jun 11 17:21:07 2014 2014-06-11 17:21:07.750000 2014-06-10 17:21:07.750000 2014-06-11 17:21:06.750000
======
这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。
相关文章推荐
- Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
- 2012百度暑期实习生笔试(开发测试)
- 百度2013校园招聘笔试题(自动化平台、测试开发)
- 2014年8月29日阿里校招在线笔试部分题--软件测试开发
- 阿里巴巴2014实习生测试开发工程师笔试附加题
- Python测试开发分享感悟
- 百度笔试题——开发测试工程师(深圳)
- 百度2014开发测试工程师笔试题(沈阳站)
- 2014 IGT 软件测试开发工程师笔试(java-B1版)
- 2015阿里校园招聘笔试题(8.29 测试开发工程师)
- python测试驱动开发
- 测试问题2013(4月)腾讯实习生招聘(测试开发)从笔试到一面
- 2013(4月)腾讯实习生招聘(测试开发)从笔试到一面
- 2014百度校招开发测试工程师笔试题
- 阿里巴巴2013年测试开发笔试题目重点解读
- Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
- 用Python开发自动化测试脚本
- 第一次笔试,记阿里巴巴测试开发笔试
- 用Python开发自动化测试脚本
- 2014百度开发测试笔试题