Python开发工程师 面经汇总
面试官有两位,其中一位主要发问和沟通,首先是问我一些问题,之后一直是面试官在和我沟通这个岗位需要做什么以及期望求职者具备的能力。 问题如下: 1、自我介绍 2、在某大厂做数据分析实习做了什么,都获得了什么? 3、针对介绍中说的沟通能力强,追问你是怎么和大厂同事进行沟通的? 4、讲一个你认为最困难的事情? 5、场景题:某个电视剧的播放量双数集的播放量总是比单数集的播放量多,如果是你,会怎么分析原因?(这个真不知道怎么破题,后来面试官只提示了一下可以看一下其他电视剧的双数集是否也比单数集播放量多,后来就换题了,小伙伴们有想法的希望赐教~~) 6、未来的职业规划。 7、听我的职业规划里提到很多“希望自己不断补足技术上的短板”,导致面试官认为我和这个岗位做的业务分析可能不太符合(问我你是想走数据科学家路线吗),整个面试也挺别扭的,和我一直以来面试数据分析岗问的问题和整体的侧重点都不太一样。 之后面试官花了大概20分钟跟我讲这个岗位需要具备的能力,总结来说是逻辑思维能力、数据分析能力、沟通能力。以及举了一些工作中可能会做的工作内容来佐证。 爱奇艺研究院是由之前的战略规划部形成的,规模大概20多人,感觉是个小而精的团队,负责为爱奇艺做前瞻研究的,可能需要接触外部数据产品企业和内部各业务部门,以及收集各类数据源并清洗分析,岗位需要极强 的主观能动性,找能做分析的课题。哇,我感觉这个岗位太有难度了,和岗位JD写的一点也不一样。
一面电话面,不知道有没有二面,总时长40分钟,无算法题,面的深度可以,面试官技术能力强,注重编码能力,面试感受四颗星****。面试过程 1.简单介绍一下自己? 2.开始问项目,具体怎么实现的,所以在面试之前自己一定要回顾一遍相应的的技术,为什么要选这个而不是其它的,以及他的优势和劣势分别是什么。 技术问题,你简历中专业技能一项,一定会在项目经验之后挨个问你,所以精通就是精通,了解就是了解,不要给自己挖坑! 微服务:什么是微服务,微服务的好处和坏处? 容器技术:Docker网络模式,分层的好处和坏处,应用场景? 服务编排:Kubernetes的网络模型,K8s的优劣,Pod/Service之间通信,Ingress和Service之间的区别,了解Linux么,自己的笔记本是否是Linux系统? 3.Python: 说一说with关键字的用法,如何自己清除资源,自己实现一个函数,要用with打开,需要注意什么 说一说装饰器,如何实现一个装饰器,如何调用一个被装饰的函数 4.数据库: 说一说MySql、Redis、MongoDB、Zookeeper之间的区别,以及他们的使用场景和特点。 5.API: 如何提高吞吐量,如何发现某个接口吞吐性能不佳,如何解决,说一说解决思路? 什么是Restful API,和普通http url有什么区别,get/post/put/delete有什么区别,用过patch么? 谈一谈swagger框架,如果yaml文件有改动,框架需要重新生成么,如果不用需要修改哪几个文件? 6.你为什么想从现在的公司离职,你的职业规划是什么,你最近有没有在学什么技术,你有技术博客么,方便告诉我地址么 7.你有什么问题想问我吗?
一共四面,三轮技术面,一轮HR面,一次性持续3个多小时,这个时长面下来有点疲惫,面试特点是根据招聘要求进行面,所以面这家之前可以着重准备下招聘要求上的技术。面试公司:北京完美创意有限公司岗位:Python研发工程师面试感受:四颗星****面试过程 面试前: 前台签到并领取一份问卷,先做题,做好前台拿给一轮面试官开始面试。问卷共3页,第一页对上面的技术能力进行自我打分(1-10分),剩下2页有三个题,总体比较简单: 进制转换:将一个给定数字转换成16进制的字符串 给定一个数组arr,求数组中第2大的数,要求时间复杂度为O(n)。 SQL语句:给定一个员工表,找出email重复的行 一面:(60分钟) 注重技术基础,方面比较广,面试官很年轻,90后的样子 1.简单做一个自我介绍 2.Python:讲一下装饰器原理,java有装饰器么,怎么实现的。讲一下垃圾回收机制(引用计数、循环检测算法)。Asyn函数的返回值类型,自己写一个生成器,内部需要实现哪些函数。Python和Java的异同(同:面向对象,异:语法简单,封装规则而不是标准,运行时动态语言,内存申请)。Python对内存做了哪些优化(list等内存不会立即释放,进行重复利用,节省开支),list分配的内存空间用完了,如何扩容。讲一下Python thread(实际考察GIL)。 3.Redis:存储结构,支持哪些数据类型,性能调优(缓存,命中率……),如何做内存优化,expire过期机制。 4.Docker:容器间通信原理 5.Kubenetes:k8s有哪些资源类型,Configmap是干嘛用的,讲一下Replicaset和Damonset的使用场景,如何使用。pod间通信原理,服务发现?Service mesh了解么引出一系列问题(sidercar,istio,gateway)。如何定位问题(监控:cadvisor,influxdb,grafana……)。
个人背景:中流985理学专业应届毕业生。HR给我打过一个电话大致了解我的情况时也算一面吧,在这里贴一下专业面和主管面问到的问题。专业面试1 专业面试1先简单介绍了自己的项目,然后让我写最熟悉的排序算法,最后是一道智力题。 (1)关于项目:由于我没有参与过软件相关项目,也没有上过相关课程,所以我和面试官讲了大学的一个课设,和用MATLAB进行数学建模相关,面试官简单问了几个参数是如何选择的,项目是几个人共同完成的,就结束了。 (2)关于排序:我写了个冒泡,和面试官讲了下快排的原理(已经忘记怎么写了,堆排序就从来没会过。面试官表示:“平时做的东西不怎么需要用是吧,好的好的。” (3)关于智力题:8个小球中有1个小球质量与其他小球不相同,此时你有一个天平,问需要称几次才能找出这个小球。一开始思路不对一直考虑二分,面试官告诉我正确答案是3次以后,顺利写出正解。 专业面试2 自我介绍以后,先让我完成3道题。 (1)输出1-100所有孪生素数对。 面试官告诉我不用考虑复杂度,重点在于实现。 我就简单地找出所有素数存在list中,再判断相邻元素是否为孪生素数对,是则输出。 面试官说可以了。 (2)若观看视频时出现卡顿、花屏,请问是什么原因造成的,应该如何排查。 不具备网络基础知识,我从网站、服务器、路由器、网络设置四方面来答,面试官说应该分析卡顿、花屏是由不同原因造成的,再进行陈述。 (3)如下图,求A点到B点最短路径数目。 这是一个简单的dp问题。是洛谷上的基础题的简单版。 可以简单看出规定只能朝右或朝上走后,每条路径都是最短路径。 设f(x
面了2轮,第一轮技术面试,也是最主要的。 技术牛人和团队经理先问了些数据库相关的备份恢复如何操作的; 说下DG的原理,印象最深的故障处理过程, 然后再从中挑几个细节问之后团队经理会和你沟通下往年做过的项目,扮演的角色,有什么感想(基本唠嗑型,比较轻松)。增量是怎么爬取的,怎么去确保不被反爬 哪些网站用到了账号爬取,怎么实现 有没有用过app抓包,抓包后怎么处理,api里面有一个签名证书,有没有了解过 有没有做过项目的迭代,例如公司有100台服务器,后续更新到1000台,这个怎么做爬虫维护,有没有做过这种迭代?有做过部署吗? 模拟登陆,如果通过分布式爬取是把ip地址随机分配给任意服务器,还是将账号和ip进行捆绑,固定一个ip一个账号该轮面试过了之后就是HR了,做了套性格测试题然后说了下公司的福利,政策等。电商的数据都是不定时改变的,例如淘宝搞活动或者店家搞活动,这个你怎么确保数据都是新的呢?
同步异步、爬虫方面的问题比较多,其他的也问了一下常规性问题,从一线待了几年,面试这些不在话下~,静等结果中 1.线程的异步和同步 2.网络请求的异步和同步 3.python中的异步请求库 4.python的协程?其他语言有没有协程 5.redis和MongoDB、mysql(如有)怎样配合使用,哪里用到,为什么这样做? 6.爬虫项目怎样部署?有没有用过其他的部署方式? 7.有没有用过scrapy-splash? 8.有没有了解消息队列? 9.熟练的网络请求库 10.有了解哪些解析库 11.app爬虫有了解吗 12.列表和元组的区别
没有问项目也没有问之前的工作经历,估计就看一下简历就了解个大概了,就是一顿面问题,语速也是很快,不过问题问的非常清楚,如果你解释的不对,他会做补充。总体感受不错,总结一下面试题吧。1,平时都用哪些语言?答:平时用 C++ 多一点,python 也了解,但不是很深入,基本上都是直接调的函数和相应的库,并没有研究它底部到底是怎么实现的,意思就是没看过 python 源码,你就问我 C++ 吧。(果然他开始问 C++,所以他这样问肯定是想问你最擅长的语言) 2,你有用过 STL , boost 这些库吗? 答:用过 STL,最近在看侯捷老师的 STL 源码剖析。 3,STL 都有哪几个组成部分? 答:容器,适配器,迭代器,算法,然后就知道还有一个,现在想想肯定是由于当时有点紧张,就没答出来,还是看过源码的人呢,这都答不出来,丢人,他还给提示说加括号那个,妹的,我竟然说是运算符重载,(我以为是()重载,这和 STL 有什么关系,这都能说出来,呸呸呸。。。),他最后说还有 仿函数,心想这个和 括号有什么关系,后来想想确实是有关系,一般用到仿函数的时候都会在后面加个括号,表示这是一个匿名对象,这样进行使用,看来应了那句话:了解不行,知道也不行,必须形成条件反射才行。 4,问我 STL 你都有用过哪些容器? 答:很随意的说用过 array,vector(这个用的比较多),set,map,hash_map,hash_set,然后他似乎听得出来了,然后就问我 STL 里面就直接叫 hash_map 吗?哈哈,此刻确定他在听我讲话,然后立即改口说,不是,叫 unordered_map,unordered_set。 5,set 底层是怎么实现的 ? 答:用红黑树来实现的,我以为他会问我具体的红黑树知识,比如插入,删除,调整,结果啥都没问,就直接过了。吓了一身汗。。。 6,unordered_map 的底部是怎么实现的? 答:用 hash_table 来实现的 。 7,查找的时间复杂度是多少? 答:定位一个槽 是 O(1),如果定位一个元素,用外部拉链法的话,平均查找长度是链表的长度的一半,时间复杂度为 O(n)。
公司:文思海辉技术有限公司面试岗位:Python技术工程师面试题:1.字典m={'a':1, 'b':2},请用代码完成key和value的交换 2.列出你所知道的数据库orm工具? 3.请写出float,int,string在字符串格式化中的区别? 4.简写flask中异常处理的方式? 5.一个table如何实现点击表头实现该列表重洗排序? 6.一张MySQL表有3个字段(姓名,登录次数,最后登录时间),假设用户名是abc写出登录累计次数累计,和更新最后登录时间的方法? 7.字典m={'a':1,'b':2},请用代码完成key和value的交换 8.列出你所知道的数据库orm工具 请写出float,int,string在字符串格式化中的区别 9.简写flask中异常处理的方式 10.一个table如何实现点击表头实现该列表重洗排序 11.一张MySQL表有3个字段(姓名,登录次数,最后登录时间),假设用户名是abc写出登录累计次数累计,和更新最后登录时间的方法 12.abcdef'===用代码实现(不推介直接使用索引来构造) l=,根据n对列表做降序排列 <p style="line-height: 1.6;"
技术面一共三面,一面视频面,总时长50分钟,面试官很友好,没有思路会给提示,但是只能对方看到我(对方说是摄像头坏了), 面试感受:三颗星。 面试过程 1.介绍一下自己,你为什么想要离职,这是一个明显的挖坑题,要点就是不要说上家公司的不好,因为面试官有理由相信你是怎么离开上家公司的,就会怎么离开他们,所以从个人身上找原因,尽量说真话。 直接开始问技术 2.数据库: MySql为什么使用索引的查询就能变快,‘select…from…where…’三个关键字执行的顺序是什么? a,b两列,1-10平均分布,8只有一条,我要查询3-7和8的所有数据,该如何建索引,为什么,写出来 谈一谈Redis的高性能和缓存,过期之后的数据立即被删除了么,如果不是为什么,删除机制/如何删除 3.Golang: 怎样在go中实现一个类,你最精通的一门语言是什么 4.Kubernetes: Kubernetes都有哪些组件,说说什么是pod,Pod和Service之间的关系?如果我想让某一任务只能调度到特定节点上,应该怎样做? 5. 算法 读取txt文件中的所有数字(包含整数和小数,文件中数字不换行),返回所有数字列表 给定三角形三个点,和一个任意点,判断该点是否在三角形内部。考察文件操作、lamda表达式和数学逻辑思维 6. 你有什么想要问我吗?
一面(大约30分钟):1.pycharm是什么版本的 2.django框架用的什么版本,有没有了解过2.0, 2.1的版本 3.浅拷贝和深拷贝 4.装饰器的原理 5.PEP8规范的好处 6.命名的规范 7.列表和元组有什么区别 8.位置参数和关键字参数的区别 9.ORM框架的缺点和优点 10.说一下session和cookie的区别: 11.Cookie和session能跨域么? 12.redis的数据类型(7种)
验证码登录>
验证码登录>
自动登录 | 忘记密码?
密码登录>
自动登录