python求职简历.docx
- 文档编号:8484542
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:7
- 大小:18.16KB
python求职简历.docx
《python求职简历.docx》由会员分享,可在线阅读,更多相关《python求职简历.docx(7页珍藏版)》请在冰豆网上搜索。
python求职简历
python求职简历
篇一:
python软件工程师个人简历模板
找python软件工程师就上才智尚招聘网
找python软件工程师就上才智尚招聘网
篇二:
python工程师开发工程师个人简历模板
找SEo工作就上才智尚招聘网
找SEo工作就上才智尚招聘网
篇三:
Python工程师面试作业
[讲解]
什么是lambda函数?
它有什么好处?
另外python在函数式编程方面提供了些什么函数和语法?
Lambda是一种单行的表达式函数,主要好处就是能简化代码,不需要定义一些简单功能的函数
在Python中,函数可以作为参数传入,也可以作为结果被返回
提供了lambada语法方便编程
提供了以下内置函数:
reduce(function,iterable[,initializer])
zip([iterable,...])
详细说说tuple、list、dict的用法,它们的特点;
三者的用法可参考:
Tuple一旦创建即不能进行修改(删除/增加/修改元素),但是其访问效率较高,且能保护常量数据不被更改,所以适合于存储一些常量数据
List适合于需要动态增删改的数据集,但不适用于需要查找的使用;因为其实现类似于c中的数组,也不适应于需要经常在list之间插入数据的场景。
dict就像很多语言中的hash,可能在内部使用了红黑树或者其他数据结构存储了数据,以达到快速定位的功能
说说python中装饰器、迭代器的用法;描述下dict的items()方法与iteritems()方法的不同;
装饰器即是装饰器在python中的使用,主要用于为类/函数动态添加新的功能,python中的用法如下:
defdeco(func):
def_deco():
print()
func()
print()
#不需要返回
return_deco
@deco
defmyfunc():
print()
return
myfunc()
如果obj实现了__iter__以及next(),我们可以使用iter(obj)来获取迭代器:
并可以使用如下方法进行访问:
fetch=iter(seq)
while1:
try:
i=fetch.next()
exceptStopiteration:
break
#do_something_to(i)
dict的items()返回的是一个包含pair的list对象
dict的iteritems()返回的是一个可以遍历pair的迭代器iterator,与c++中迭代器类似,可以使用一些通用函数对其进行遍历处理
知道greenlet、stackless吗?
说说你对线程、协程、进程的理解;
greenlet类似于goto语句的功能,但是在函数或者说微线程之间实现了跳转,且在结束后能自动回到调用处
一个“greenlet”是一个很小的独立微线程。
可以把它想像成一个堆栈帧,栈底是初始调用,而栈顶是当前greenlet的暂停位置。
你使用greenlet创建一堆这样的堆栈,然后在他们之间跳转执行。
跳转不是绝对的:
一个greenlet必须选择跳转到选择好的另一个greenlet,这会让前一个挂起,而后一个恢复。
两个greenlet之间的跳转称为切换(switch)。
当你创建一个greenlet,它得到一个初始化过的空堆栈;当你第一次切换到它,他
会启动指定的函数,然后切换跳出greenlet。
当最终栈底函数结束时,greenlet的堆栈又编程空的了,而greenlet也就死掉了。
greenlet也会因为一个未捕捉的异常死掉。
stackless是python的一个协程实现版本?
还没有仔细看。
线程,进程是比较经典的概念了,进程可以包括文件句柄等系统资源的单位,线程一般是现代cPU的基本调度单位
而协程是通过用户调度,切换的消耗要小于线程/进程的切换。
协程的优势在于可以自己控制切换,适合于顺序执行的一些情况,而线程更加适合并行处理数据的情况;同时使用协程可以控制调度,减少切换的消耗。
讲讲对unicode,gbk,utf-8等的理解,python2.x是如何处理编码问题?
Unicode,GBK是对字符编码值的规定,两者并不兼容。
而UTF-8则是对于Unicode编码的具体表现形式
Unicode有多种表达方式,包括UcS2,UcS4,UTF-8,UTF-7;其中手机短信就是由aScii(只存在aScii编码)及UcS2编码混合(存在任意个非aScii编码)
UTF-8使用1-4个字节来存储单个字符,应该是目前最流行的字符集。
Linux默认字符集就是UTF-8
一般代码头行加入
保证python编辑器的编码正确,或使用u’中文’保证被转换成unicode编码,推荐使用sys.setdefaultencoding('utf-8')来保证我们的编码
对外来输入:
读取文件/读取数据库得到的字符串使用decode
Python是如何进行内存管理的?
python的程序会内存泄露吗?
说说有没有什么方面防止或检测内存泄露?
Python使用引用计数来实现内存管理,每一个对象都拥有引用计数,表示正在引用它的变量个数;如果一个引用的变量出了作用域,那么对象引用计数减1,如果引用计数到0,内存回收模块会回收
如果对象实现了__del__函数,那么对象间的交叉引用将导致__del__无法被调用,而本该在
__del__中释放的资源(比如数据库的连接)将无法释放
某些全局变量占用的资源不能被释放
可以使用objgraph工具进行对内存的监控及检测
关于python程序的运行性能方面,有什么手段能提升性能?
合理的使用数据结构:
比如由于dict使用了hashtable,当需要经常在大容量list中使用查找时,将list转换成dict将大大提高性能
在一些性能瓶颈问题上,考虑使用c/c++库来实现,将大大提高程序性能
1.使用内建函数
2.使用join()连接字符串.
3.使用Python多重赋值,交换变量
4.尽量使用局部变量
5.尽量使用”in”
6.使用延迟加载加速
7.为无限循环使用”while1”
8.使用listcomprehension
9.使用xrange()处理长序列
10.使用Pythongenerator
11.了解itertools模块
12.学习bisect模块保持列表排序
13.理解Python列表,实际上是一个数组
14.使用dict和set测试成员
15.使用SchwartzianTransform的sort()
16.Python装饰器缓存结果
17.理解Python的GiL(全局解释器锁)
[写程序]
list对象alist[{'name':
'a','age':
20},{'name':
'b','age':
30},{'name':
'c','age':
25}],请按alist中元素的age由大到小排序;
alist=[{'name':
'a','age':
20},{'name':
'b','age':
30},{'name':
'c','age':
25}]alist.sort(cmp=lambdal,r:
l['age']-r['age'],key=none,reverse=False)printalist
#oR
alist=[{'name':
'a','age':
20},{'name':
'b','age':
30},{'name':
'c','age':
25}]alist.sort(key=lambdak:
k['age'])
printalist
两个list对象alist['a','b','c','d','e','f'],blist['x','y','z','d','e','f'],请用简洁的方法合并这两个list,并且list里面的元素不能重复;
alist=['a','b','c','d','e','f']
blist=['x','y','z','d','e','f']
clist=list(set(alist)|set(blist))
printclist
打乱一个排好序的list对象alist;
importrandom;
alist=['a','b','c','d','e','f']
random.shuffle(alist)
printalist
#oR
importrandom;
alist=['a','b','c','d','e','f']
random.seed()
alist.sort(key=lambdak:
random.random())
printalist
简单实现一个stack;
classStack:
def__init__(self):
self.items=[]
def__iter__(self):
returnself.items.__iter__()
defpop(self):
returnself.items.pop()
deftop(self):
iflen(self.items)>0:
returnself.items[len(self.items)-1]
defpush(self,item):
self.items.append(item)
defempty(self):
self.items=[]
defsize(self):
returnlen(self.items)
st=Stack()
st.push(8)
st.push(5)
st.push(4)
st.push
(2)
st.push(6)
printst.top()
printst.pop()
printst.top()
printmax(st)
输入某年某月某日,判断这一天是这一年的第几天?
(可以用python标准库)
#标准库版本
importimportimportdatetime;
defgetSequencedayofYear(year,month,day):
returnint(datetime.datetime(year,month,day).strftime(“%j”))print(getSequencedayofYear(20XX,3,27))
#自己实现版本
defgetSequencedayofYear1(year,month,day):
lstnotLeap=[31,28,31,30,31,30,31,31,30,31,30,31]#非闰年lstLeap=[31,29,31,30,31,30,31,31,30,31,30,31]#闰年lst=[]
ifmonth12:
print'wrongmonth'
return0
if(year%4==0)and(year%100!
=0)or(year%400==0):
lst=lstLeap
else:
lst=lstnotLeap
ifdaylst[month-1]:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 求职 简历