• 回答数

    4

  • 浏览数

    292

哼哼郭Eva
首页 > 工程师考试 > python工程师简历

4个回答 默认排序
  • 默认排序
  • 按时间排序

垫块砖一米三

已采纳

项目经历(案例一)项目时间:2017-01到2011-10项目名称:引物自动化设计软件项目描述:项目介绍这个软件开发原因是因为随着每日数据分析量的加大,组内人员较少,对引物设计这种工作变成了工作效率的阻碍,遂提出了设计软件以达到自动化设计的目的。而且引物设计主要费时在于多种验证操作,可以通过软件自动验证减少人力成本。我的职责1,软件基础功能设计,完成相关函数如自连互连验证,温度验证等功能2,分析NCBI网页格式,设计API调用接口3,编写测试脚本对软件进行测试项目经历(案例二)项目时间:2017-01到2011-10项目名称:分布式爬虫爬取北京市企业信用信息网项目描述:项目介绍这个项目是通过scrapy-redis搭建分布式爬虫爬取企业信用信息网公布栏,爬取列表页每一项下的子页获取数据我的职责首先爬取首页后通过xpath匹配每个的信息块的span后构建请求,并通过发送请求,用xpath匹配需要的信息。同时循环创建下一页请求的form表单,通过发送POST请求。所有爬取的信息缓存到redis数据库中,最后通过编写python脚本将redis数据库中数据读取出来加入mysql数据库。其他爬取的网站:搜狐新闻、豆瓣、腾讯新闻网项目经历(案例三)项目时间:2016-03到2011-10项目名称:基于django的基因产品选购系统项目描述:项目介绍该项目为了满足部分人群不方便抽血,但是又想通过基因检测了解自己情况的人群,通过让客户在线选购基因检测套餐,而后通过快递将唾液采集器送达客户家中,客户只需按流程收集唾液后快递给公司,就可以在规定的天数后在系统中查询自己的检测项目结果我的职责1,通过bootstrap,及js,css完成前端页面的构建2,通过django搭建后端框架,使用cookie和session共同保存用户的登录状态,通过ajax发送post请求将用户选择的套餐编号发送到服务器3,测序结果使用ajax请求,返回json数据,通过判定json中result键的值判断是否有测序结果,如果有结果便通过jquery动态加载到页面上项目经历(案例四)项目时间:2015-12到2011-10项目名称:通过异步爬虫爬取HGMD,构建mysql数据库项目描述:项目介绍对高通量测序数据进行数据分析时,需要对snp数据进行相关性筛选,为此需要构建基于mysql的基因突变数据库,对HGMD网站相关基因突变信息进行爬取,爬取内容包括基因名,染色体坐标,突变信息,致病信息等。爬取结果存储于mysql。我的职责1,采用asyncio+aiohttp以达成高并发,异步请求。2,通过timeout设置超时重发机制,因为HGMD为国外网站,防止因为网络卡顿导致页面抓取不到产生数据不全的现象。3,通过继承类来保存cookie对象,以应对基于cookie的反扒策略4,使用xpath进行页面解析,解析出的数据通过PyMysql模块存储于mysql数据库中

python工程师简历

268 评论(11)

fightingBB

第一步:自我介绍

第二步:公司介绍

第三步:技术基础

第四步:项目介绍

第五步:待遇

自我介绍,简单直接,姓名,籍贯,大学,工作经历

示例如下:

你好,面试官,我叫XX,来自XX,本科毕业于XX,主修XX专业,有X年工作经验,在上一家公司担任python后端开发工程师的职位。

公司名称是XX、公司主要做外包软件、都有软件定制/商城定制、前端2个后端2个运维1个

主要是根据你简历中填写的技术,根据我的简历中所写的,总结几点如下:

字典的查询流程:

不可变对象可哈希, str , fronzenset , tuple ,自己实现的类,要重载 __hash__ 方法。

dict内存花销大,但是查询速度快,自定义的对象或者python内部的对象都是dict包装的。

dict的存储顺序和元素添加顺序有关,添加顺序可能改变已有数据的顺序。

集合:是一个可以存放任意数据类型的可变无序的映射集合。

set和dict类似,set的核心也是散列表,但是表元只包含值的引用。 由于散列表的特性,set的元素不能重复,且无序。 内部由哈希实现,查找的时间复杂度为O(1),所以性能很高,实现了魔法函数 __contains__ 可以使用in来查找。 set的去重是通过两个函数 __hash__ 和 __eq__ 实现的。

(1)浅拷贝

定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。

浅拷贝的特点:

(2)深拷贝:

定义:一个变量对另外一个变量的值拷贝。

深拷贝的特点:

Python GC主要使用引用计数(reference counting)来跟踪和回收垃圾。在引用计数的基础上,通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用问题,通过“分代回收”(generation collectio n)以空间换时间的方法提高垃圾回收效率。

GIL全称 Global Interpreter Lock ,中文解释为全局解释器锁。它并不是Python的特性,而是在实现python的主流Cpython解释器时所引入的一个概念,GIL本质上就是一把互斥锁,将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务所修改,从而保证数据的安全性。

GIL保护的是解释器级别的数据,但是用户自己的数据需要自己加锁处理。

既然有了GIL的存在,一个进程中同一时刻只有一个线程能够被执行,无法利用cpu的多核机制,导致多线程用于I/O密集型,多进程用于计算密集型,如金融分析等。

死锁:两个或两个以上的进程或者线程在执行过程中,因为争夺资源而造成的互相等待现象,若无外力的作用,都将一直处于阻塞状态,这些互相等待的进程或者线程就被称为死锁。

解决方法,使用递归锁(RLock)

这个RLock内部有一个Lock和一个counter变量,counter记录着acquire的次数,从而使得资源可以被多次require。直到一个线程所有的acquire都被release,其他的线程才能获得资源。上面的例子如果使用RLock代替Lock,则不会发生死锁

可以直接认为是linux,毕竟搞后端的多数是和linux打交道。

那么如何避免粘包问题呢? 归根结底就是一句话, 明确两个包之间的边界.

UDP不存在粘包问题,是由于UDP发送的时候,没有经过Negal算法优化,不会将多个小包合并一次发送出去。另外,在UDP协议的接收端,采用了链式结构来记录每一个到达的UDP包,这样接收端应用程序一次recv只能从socket接收缓冲区中读出一个数据包。也就是说,发送端send了几次,接收端必须recv几次(无论recv时指定了多大的缓冲区)。

存储可能包含rdbms,nosql以及缓存等,我以mysql,redis举例**

101 评论(13)

唔记得叫咩名

写项目名称,和具体工作的描述,以及此项工作在项目中是否起关键作用,如果是打酱油的活,那还是不要写得太细了。

341 评论(12)

Nice甜甜圈

你可以买个U盘,贴在简历上,U盘里装着python代码....

243 评论(15)

相关问答