中国移动云计算中心苏小研python开发工程师面经汇总

中国移动云计算中心苏小研python开发工程师面经汇总

2023年6月29日发(作者:)

苏小研面试:一面(专业面)+二面(HR面)+三面(领导面)

苏小研考试:机考(行测+性格测试)

注:我参加的是2019秋招,三场面试连续面试。

一面:

1、xrange与range区别:

Xrange: list对象;一上来开辟一块很大的内存;

Range: 一个生成器;每次调用返回其中的一个值;内存效率更高;

要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。

2、如何创建一个字典变量:

添加键-值对

修改键值对

删除键值对

遍历字典:(注意:返回值与存储顺序不同)

for key, value in (): #遍历所有键-值对

print(key)

print(value)

for key in (): #遍历所有键

print(key)

for value in (): #遍历所有值

print(value)

3、手撕代码:如何统计一堆数据中每个数据出现的频率?(用字典数据结构能减少算法复杂度)

4、直播协议:RTMP协议(Real Time Messaging Protocol)实时消息传输协议。

是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。

他有多种变种:

工作在TCP之上,默认使用端口1935;

在RTMP的基础上增加了加密功能;

封装在HTTP请求之上,可穿透防火墙;

类似RTMPT,增加了TLS/SSL的安全功能;

5、session和cookie技术区别???

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

Cookie:

HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。 给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。

Cookie功能需要浏览器的支持。记录用户访问次数。Cookie的不可跨域名性。

HTTP协议不仅是无状态的,而且是不安全的。使用HTTP协议的数据不经过任何加密就直接在网络上传播,有被截获的可能。使用HTTP协议传输很机密的内容是一种隐患。如果不希望Cookie在HTTP等非安全协议中传输,可以设置Cookie的secure属性为true。浏览器只会在HTTPS和SSL等安全协议中传输此类Cookie。

Session:

Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力

如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

两者的区别

1、cookie数据存放在客户端,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑性能应当使用cookie。

4、不同浏览器对cookie的数据大小限制不同,个数限制也不相同。

5、可以考虑将登陆信息等重要信息存放为session,不重要的信息可以放在cookie中。

两者的联系

1、都是用来记录用户的信息,以便让服务器分辨不同的用户。

2、可以搭配使用,但都有自己的使用局限,要考虑到安全和性能的问题

6、IOS七层作用

应用层:所有能产生网络流量的程序

表示层:数据的表示格式。比如数据的表示格式、数据的加密与解密和数据压缩格式等。

会话层:会话层的作用是开启、关闭两个主机之间的连接,管理主机之间的连接等。该层的作用就是控制主机之间连接状态的,包括通信方式等。比如在QQ中,开启一个视频通话就相当于开启了一个会话。会话层更多的是在RPC中进行使用的。

传输层:该层定义了数据的传输协议。像数据到达的顺序、校验是否真正到达等,是需要运输层来实现的。

网络层:路由转发,负责不同网络之间转发数据包,根据IP协议,决定数据最终到哪里去(TCP协议和UDP协议。)

数据链路层:对物理层的数据进行校验处理等,同时通过MAC地址,在不同的网络设备之间进行通信。(ARP、IP、ICMP)

物理层:发送的是01比特位,传输的是二进制数据流。

TCP/IP协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

ppp:是一个在数据链路层的协议。名字叫点对点协议。用户拨号上网,互联网运营商对ppp 给些参数,然后配置网络层,这样就可以有临时ip进行上网,在结束时候,由ppp里的一个协议释放链接。

ARP协议的作用:主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。(问住我了)

7、http与https的区别:

1)、http是超文本传输协议,信息是明文传输,不安全;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

2)、http和https使用的是完全不同的连接方式,端口也不一样,前者是80,后者是443。

8、进程和线程:

资源分配的基本单位;占用内存多;共享复杂;cpu利用率低;进程之间不会互进程

相影响;(进程拥有各自独立的地址空间)(计算密集型操作)

线程

9、查询进程信息:ps –rf/-aux |grep 16923

10、写几句mysql语句,我写的最基本的增删改查?

表操作

创:(auto_increment表示自动增长)

create table students(

id int auto_increment primary key,

sname varchar(10) not null,

sex varchar(10) not null,

join_time datatime not null

);

改:alter table students add birthday datetime;

删:drop table 表名;

数据操作:

操作系统能够进行运算调度的最小单位;占用内存少;共享简单cpu利用率高;线程之间互相影响;(共享所属进程的资源)(IO密集型) 增:insert into student values(1,’桑倩’,’女’, now())

删:delete from students where sex = ‘男’;

改:update students sex=‘男’ where sname=’张三’;

查:select * from students where id>3;

排:select * from 表名order by 列1 asc|desc,列2 asc|desc,.

聚合函数:select max(id) from students where gender=0;

检索出员工工资最高的员工姓名和工资

select * from user where employee_salary= (select max(employee_salary) from user);(为什么不是EMPLOYEES)

11、正则表达式?

从文本搜索字符串、字符串替换

正则表达式是用匹配或者描述字符串的工具。

用处:

a.判断字符串是否满足某个条件---判断输入的字符串是否是邮箱/手机号码。是否是ip地址

b.提取满足条件的字符串

c.字符串替换

grep、sed、find等linux命令要会。

12、Python导包顺序以及机制?

1. python首先会去寻找内置(built_in)的包(.py 所在文件的目录)

2. 然后按照PYTHONPATH环境变量中指定的路径,按顺序搜索。

3. 再就是按照能被python解释器识别到的.pth文件中指定的路径去搜索。

对于后面两点,可以通过来一起查看(解释器在启动时会通过创建)

13、在浏览器输入网址 发生了什么 详细过程

浏览器查找域名的IP地址(域名就是指输入的网址)

浏览器缓存–浏览器会缓存DNS记录一段时间。有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。

路由器缓存–接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。

ISP DNS 缓存–接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。

递归搜索 –你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会 有.com域名服务器中的域名。

14、lambda作为一个表达式,定义了一个匿名函数;使用lambda函数能够创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤; 例:

f = lambda x,y:x+y # 求两个函数的和。 x,y是参数,x+y是函数返回值

foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

print (list(map(lambda x: x * 2 + 10, foo)))

#[14, 46, 28, 54, 44, 58, 26, 34, 64]

15、浏览器如何访问网页?ip路由如何访问内网?(源地址、目的地址,MAC地址不变) 网关:每个计算机都要配网关,网关就是决定从一个网段到另一个网段给谁?

网站里的网页如何到客户端的?

16、Python中的内置数据结构:列表list、元组tuple、字典dict、集合set,涵盖的仅有部Python的可变数据类型:列表list、字典dict、集合set

Python的不可变数据类型:元组Tuple,一经初始化,就不能修改,只能对元素进行查询。因为tuple不可变,所以代码更安全。

(数据类型:

python3中有六个标准的数据类型:number(数字型:int、float、bool)、string(字符串型)、list(列表)、type(元祖)、dictionary(字典)、set(集合)

什么可变数据类型和不可变数据类型:

可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。

可变类型:list、dict、set()

不可变类型:数值型、str、tuple)

17、python是怎么进行内存管理的?

1)引用计数:python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。

2)垃圾回收:当内存中有不再使用的部分时,垃圾收集器就会把他们清理掉。

3)内存池机制:用于管理对小块内存的申请和释放。

18、python中如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

浅拷贝:copy模块的copy()函数

深拷贝:copy模块的py()函数

19、请写一段脚本,查找/data/test 目录下3天前的文件,从中挑选出大小超过10M的删除掉。

#!/bin/sh

find "/data/test" -mtime +3 -size +10M -exec rm {} \

20、描述数组、链表、队列、堆栈的区别?

数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据;

队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出;队列和堆栈可以用数组来实现,也可以用链表实现。

21、post()与get()

22、什么是函数装饰器???(好多人被问了)

1)装饰器:本质是一个函数,用来装饰别的函数,给其他函数附加新的功能。

2)多个装饰器:

3)带参数的被装饰参数:函数动态参数(有和没有都可以)

4)被装饰函数带有返回值:

5)更高级的:装饰带有参数

二面

1、对我们公司的了解?

中移(苏州)软件技术有限公司是中国移动通信集团有限公司2014年注资成立的全资子公司,作为中国移动云能力中心,公司定位为云设施构建者、云服务提供者、云生态汇聚者,并且力争三年内推动中国移动云业务市场份额进入国内云服务商第一阵营。

现有员工规模超1500人员梯队高素质、年轻化、多元化。平均年龄29岁,研发人员占比超过86%,硕士研究生及以上学历员工占比超过73%,从海外引进高端人才百余多人,社招员工多来自于国内外知名高科技及互联网企业。

2、有德有才哪个更重要?

答:德最重要,社会最怕有才无德之人。

3、你映像最深刻的事情?

4、你做过最具有挑战的事情?

5、你的优缺点是什么?(一定要准备好,做到脱口而出,不然认为你准备不充分,自我认识不到位)

6、未来职业规划(也不能含糊其辞,要谦恭)

三面: 1、自我介绍?

2、项目介绍?(集中在项目这一块)

3、考虑项目经理一职吗?(问道这心里拔凉拔凉的,不过结果是好的)

上机考试:留20分钟做140道心理测试题目

整理了这么多,希望对诸位有用。能看到这的,说明都是有心勤奋之人,离offer不远啦。

祝各位锦鲤附身,喜提offer!!!

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688025199a67848.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信