python企业真题实战 - 妙计旅行面试题
妙计旅行面试题
- Python 主要的内置数据类型有哪些?
- print(dir(‘a’))输出的是什么?
- 给定两个 list,A 和 B,找出相同元素和不同元素?
- 请反转字符串?
- 交换变量 a,b 的值?
- 用 select 语句输出每个城市中心距离 市中心 大于20km酒店数?
- 给定一个有序列表,请输出要插入值 k 所在的索引位置?
- 正则表达式贪婪与非贪婪模式的区别?
- 写出开头匹配字母和下划线,末尾是数字的正则表达式?
- 请说明 HTTP 状态码的用途,请说明常见的状态码机器意义?
- 当输入 http://www.itheima.com 时,返回页面的过程中发生了什么?
- 有一个多层嵌套列表A=[1,2,[3.4[“434”,[…]]]]请写一段代码遍历A中的每一个元素并打印出来。
- 关系型数据库中,表和表之间有左连接,内连接,外连接,分别解释下他们的含义和区别?
- 如何定时启动你的爬虫项目
- 使用 Crontab
- 什么是 scrapy-redis 中的指纹,是如何去重的?
- 代码优化从哪些方面考虑?有什么想法?
- Django 项目的优化(web 通用)
参考答案
Python 主要的内置数据类型有哪些?
答:Python 主要的内置数据类型有:str,int,float,tuple,list,dict,set。print(dir(‘a’))输出的是什么?
答:会打印出字符型的所有的内置方法。['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
给定两个 list,A 和 B,找出相同元素和不同元素?
答:A、B 中相同元素:print(set(A)&set(B));A、B 中不同元素:print(set(A)^set(B))A = [1, 2, 2, 3, 4] B = [3, 2, 2, 5, 8]print("相同元素",set(A)&set(B)) print("不同元素",set(A)^set(B))结果: 相同元素 {2, 3} 不同元素 {1, 4, 5, 8}
请反转字符串?
答:new_str = old_str[::-1]交换变量 a,b 的值?
答:a,b = b,a用 select 语句输出每个城市中心距离 市中心 大于20km酒店数?
答:select count(hotel) from hotel_table where distance >20 group by city给定一个有序列表,请输出要插入值 k 所在的索引位置?
答:代码如下def index(list, key):if key < list[0]:position = 0elif key > list[-1]:position = len(list)else:for i in range(len(list)):if (key >= list[i]) and (list[i + 1] > key):position = i + 1return position
正则表达式贪婪与非贪婪模式的区别?、
答:在形式上非贪婪模式有一个“?”作为该部分的结束标志。在功能上贪婪模式是尽可能多的匹配当前正则表达式,可能会包含好几个满足正则表达式的字符串,非贪婪模式,在满足所有正则表达式的情况下尽可能少的匹配当前正则表达式。写出开头匹配字母和下划线,末尾是数字的正则表达式?
答:^[A-Za-z]|_.*\d$
请说明 HTTP 状态码的用途,请说明常见的状态码机器意义?
答:通过状态码告诉客户端服务器的执行状态,以判断下一步该执行什么操作。
常见的状态机器码有:
100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。
200-299:表示服务器成功接收请求并已完成处理过程,常用 200(OK 请求成功)。
300-399:为完成请求,客户需要进一步细化请求。302(所有请求页面已经临时转移到新的 url),
304、307(使用缓存资源)。
400-499:客户端请求有错误,常用 404(服务器无法找到被请求页面),403(服务器拒绝访问,
权限不够)。
500-599:服务器端出现错误,常用 500(请求未完成,服务器遇到不可预知的情况)。当输入 http://www.baidu.com 时,返回页面的过程中发生了什么?
答:1)浏览器向 DNS 服务器发送 baidu.com 域名解析请求;
2)DNS 服务器返回解析后的 ip 给客户端浏览器,浏览器想该 ip 发送页面请求;
3)DNS 服务器接收到请求后,查询该页面,并将页面发送给客户端浏览器;
4)客户端浏览器接收到页面后,解析页面中的引用,并再次向服务器发送引用资源请求;
5)服务器接收到资源请求后,查找并返回资源给客户端;
6)客户端浏览器接收到资源后,渲染,输出页面展现给用户。有一个多层嵌套列表A=[1,2,[3.4[“434”,[…]]]]请写一段代码遍历A中的每一个元素并打印出来。
答:思路是有几个嵌套链表就用几个 for 循环进行迭代,然后对最后一个结果进行打印。
a= ["a","b",["1","3",["4","haha"]]]
for b in a :for c in b :for d in c :print(d)
关系型数据库中,表和表之间有左连接,内连接,外连接,分别解释下他们的含义和区别?
答:内连接查询:查询的结果为两个表匹配到的数据。
右接查询:查询的结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用 null
填充。
左连接查询:查询的结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用
null 填充。如何定时启动你的爬虫项目
答:1.最简单的方法:直接使用 Time 类;import time import oswhile True:os.system("scrapy crawl News")time.sleep(86400) #每隔一天运行一次 24*60*60=86400s
2.使用 sched;
import sched import os import time #初始化 sched 模块的 scheduler 类 #第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。 schedule = sched.scheduler ( time.time, time.sleep )#被周期性调度触发的函数 def func():os.system("scrapy crawl News") def perform1(inc):schedule.enter(inc,0,perform1,(inc,))func() # 需要周期执行的函数 def mymain():schedule.enter(0,0,perform1,(86400,))if __name__=="__main__":mymain()schedule.run() # 开始运行,直到计划时间队列变成空为止
3.使用 Crontab
什么是 scrapy-redis 中的指纹,是如何去重的?
答:指纹:通过 sha1 加密,把请求体,请求方式,请求 url 放在一起。然后进行 16 进制的转义符字符串生成指纹。生成一个字符串,放到数据库中作为唯一标示。去重:urll 中按照 url 去重:1.按照 url 去重,有一个列表,发送请求之前从数据表中看一下这个 url有没有请求过,请求过了就不用看了, 2.内容判断,从数据库中查数据的表示,如果请求过了就在不在请求了。
代码优化从哪些方面考虑?有什么想法?
答:1.优化算法时间复杂度。
2.减少冗余数据。
3.合理使用 copy 与 deepcopy。
4.使用 dict 或 set 查找元素。
5.合理使用生成器(generator)和 yield。
6.优化循环。
7.优化包含多个判断表达式的顺序。
8.使用 join 合并迭代器中的字符串。
9.选择合适的格式化字符方式。
10 不借助中间变量交换两个变量的值。
11.使用 if is。
12.使用级联比较 x < y < z。
13.while 1 比 while True 更快。
14.使用**而不是 pow。
15.使用 cProfile, cStringIO 和 cPickle 等用 c 实现相同功能(分别对应 profile, StringIO, pickle)
的包。
16.使用最佳的反序列化方式。
17.使用 C 扩展(Extension)。
18.并行编程。
19.终级大杀器:PyPy。
20.使用性能分析工具。Django 项目的优化(web 通用)
答:
1.优化数据库查询
1.1 一次提供所有数据
1.2 仅提供相关的数据
2.代码优化
2.1 简化代码
2.2 更新或替代第三方软件包
2.3 重构代码
python企业真题实战 - 妙计旅行面试题相关推荐
- 视频教程-算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践-C/C++
算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿 ...
- 第十一届蓝桥杯青少组Python竞赛真题
第十一届蓝桥省赛Python组复盘 第十一届蓝桥省赛Python组复盘_哔哩哔哩_bilibili 蓝桥杯青少组Python竞赛真题讲解 蓝桥杯青少组Python竞赛真题讲解_哔哩哔哩_bilibil ...
- 「解析」牛客网-华为机考企业真题 1-20
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...
- 「解析」牛客网-华为机考企业真题 41-60
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...
- 「解析」牛客网-华为机考企业真题 81-108
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...
- 「解析」牛客网-华为机考企业真题 21-40
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...
- 全国青少年编程等级考试python一级真题2022年3月(含题库答题软件账号)
对青少年编程等级考试Python真题答题考试系统关注的请点击 全国青少年编程等级考试python一级真题2020年12月(含题库答题软件账号)_程序猿下山的博客-CSDN博客_python编程一级试卷 ...
- 计算机二级Python历年真题解答(第四套)
计算机二级Python历年真题解答(第四套) 写在前面 基础操作 1-1 1-2 1-3 简单应用 2-1 2-2 综合应用 3-1 3-2 3-3 写在前面 代码与参考答案不一定相同,但结果一致,真 ...
- 《牛客刷verilog》Part III Verilog企业真题
前言 之前刷过HDLbits上面的题目,点击链接可以查看详细笔记:verilog练习:hdlbits网站系列完结! 最近又想刷一下牛客上面的题目,可以点击链接与小编一起刷题:牛客刷题 小编不才,文中如 ...
- 每天一道大厂SQL题【Day11】微众银行真题实战(一)
每天一道大厂SQL题[Day11]微众银行真题实战(一) 大家好,我是Maynor.相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗 ...
最新文章
- java怎么打开_java开不了怎么办?java怎么打开?
- 《研磨设计模式》chap13 命令模式
- 当心在Lib中定义非const全局变量
- JSON数据格式解析库(cJSON、Jansson)的使用在STM32上移植和使用
- java程序设计_Java程序设计--接口interface(笔记)
- ROS 内外网做双网卡绑定负载分流教程bonding 配置教程
- Windows Phone 7完整版模拟器
- 2019年全国河流水系
- BUMO 3.0原理以及设计.
- 2016计算机奥林匹克小学,NOIP2016复赛数据
- fatal error: google/protobuf/stubs/stringprintf.h: No such file or directory
- Android怎么导入夜神模拟器,电脑文件怎么传到夜神android模拟器 文件上传夜神模拟器...
- 实验吧 Guess Next Session
- 清理C盘的几种方法,帮你解决C盘爆红的烦恼
- matlab实现手绘风格(简笔画风格、漫画风格)的曲线绘图
- flutter基础 dart语言学习笔记
- SQL对date类型的操作
- 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化
- 我们常说祝你一切顺利,实际上,顺利的状态是危险的,因为顺利意味着怠惰和懒于思考,是会让人失去奋斗的意志,丧失竞争力。
- 农村老教师的爱情故事
热门文章
- db是哪个城市的缩写_全国所有城市拼音及缩写
- 小程序授权给第三方平台代开发实现业务(流程和实现)
- 阿里、百度、搜狐等公司社招面试记录与总结
- python re模块(正则表达式) sub()函数详解
- git目录下object文件过大清理
- ODC(Orthogonal Defect Classification)简介——正交缺陷分类法
- 小程序canvas画入圆形图片
- 台式计算机上的硬磁盘,如何在台式计算机上安装机械硬盘驱动器?在台式计算机上安装机械硬盘驱动器的详细步骤...
- 5. Longest Palindromic Substring
- 一次编写命令时遇到的问题,Ambiguous method call.both