不吹不擂,你想要的Python面试都在这里了【315+道题】+精心整理的解答
Part01-Py基础篇(80)
Part02-网络编程和并发(34)
Part03-数据库和缓存(46)
Part04-前端框架和其他(155)
Part01-Py基础篇(80)
1、为什么学习Python?
2、通过什么途径学习的Python?
3、Python和Java、PHP、C、C++、C#等其他语言的对比?
4、简述‘解释型’和‘编译型’语言;
5、Python解释器的种类及特点;
6、‘位’和‘字节’的关系;
7、b、B、KB、MB、GB的关系;
8、请至少列举5个PEP8规范(越多越好);
9、通过代码实现如下转换:
10、编写一个函数,实现将IP地址转换成一个整数;
11、Python递归的最大层数;
12、求结果;
13、ASCII、unicode、UTF-8、GBK的区别;
14、字节码和机器码的区别;
15、三元运算规则以及应用场景;
16、列举Python3与Python2的区别;
17、用一行代码实现数值交换;
18、Python3和Python2中int和long的区别;
19、xrange和range的区别;
20、列举布尔值为False的常见值;
21、文件操作时候,xreadlines和readline的区别;
22、字符串、列表、元组、字典每个常用的5个方法;
23、lambda表达式格式以及应用场景;
24、pass的作用;
25、*args和**kwargs的作用;
25、*args和**kwargs的作用;
Part02-网络编程和并发(34)
Part03-数据库和缓存(46)
1、列举常见的关系型数据库和非关系型数据库都有哪些?
1.1 关系型数据库:Oracle、MySQL、DB2、Microsoft SQL Server、PostgreSQL、Microsoft Access、SQLite、Hive;
1.2 非关系型数据库(NoSQL):MongoDB、Redis、Elasticsearch、Cassandra、HBase
详情见权威的数据库排行榜:https://db-engines.com/en/ranking
1.3 关系型与非关系型数据库的区别:
关系型数据库
1、特点:
- 基于单一关系模型,结构化存储,有完整性约束;
- 通过二维表建立数据之间的联系;
- 采用结构化查询语言(SQL)做数据读写;
- 操作保存数据的一致性
2、优点:
- 通过事务处理保持数据的一致性;
- 数据更新的开销很小;
- 可以进行Join等复杂查询;
- 20多年的技术历程,技术成熟;
3、缺点:
- 数据读写必须经过sql解析,大量数据、高并发下读写性能不足;
- 为保证数据一致性,需要加锁,影响并发操作;
- 无法适应非结构化的存储;
- 大量数据集中到一台服务区处理,使服务器不堪重负;
- “阻抗失谐”,即数据库中存储的对象与实际的对象实体有一定的差别;
- 扩展困难;
- 数据库庞大,价格昂贵;
NOSql数据库
1、特点:
- 非结构化的存储;
- 基于多维关系模型;
- 部署容易,开源免费,成本低;
2、优点:
- 处理高并发、大批量数据的能力强;
- 支持分布式集群,负载均衡,性能高;
- 解决“阻抗失谐”问题;
- 内存级数据库,查询速度快;
- 存储格式多,支持key-value形式、文档形式、图片形式;
- 没有多表连接查询机制的限制,扩展性高;
3、缺点:
- 技术起步晚,维护工具以及技术资料有限;
- 不支持sql工业标准;
- 没有join等复杂的连接操作;
- 事务处理能力弱;
- 没有完整性约束,对于复杂业务场景支持较差;
2、MySQL常见数据库存储引擎及比较?
数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。MySQL的核心就是存储引擎。
2.1 常见存储引擎;
MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和非事务安全表的引擎。在MySQL中,不需要在整个服务器中使用同一存储引擎,针对具体的要求,可对每一张表使用不同的存储引擎。MySQL5.7 支持的存储引擎有:InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE等。使用show engines语句来进行查看。
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL5.5.5之后,InnoDB作为默认的存储引擎。
MyISAM基于ISAM的存储引擎,并对其进行扩展。它是在Web、数据库存储和其他应用环境下最常使用的存储引擎之一,MyISAM拥有较高的插入、查询速度,但是不支持事务。MySQL5.5.5之前的版本中,是默认的存储引擎;
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问;
2.2 如何选择?
功能 | MyISAM | Memory | InnoDB | Archive |
存储限制 | 256TB | RAM | 64TB | None |
支持事务 | No | No | Yes | No |
支持全文索引 | Yes | No | No | No |
支持数索引 | No | Yes | Yes | No |
支持哈希索引 | No | Yes | No | No |
支持数据缓存 | No | N/A | Yes | No |
支持外键 | No | No | Yes | No |
如果要提供提交、回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,InnoDB是个良好的选择。如果数据表用来插入和查询记录,则MyISAM引擎能够提供较高的处理效率;如果只是临时存储数据,数据量不大,并且不需要较高的数据安全性,Memory,MySQL中使用该引擎作为临时表,存放查询的中间结果;如果只有INSERT 和SELECT操作,可以选择Archive引擎。Archive引擎支持高并发的插入操作,但是本身并不是事务安全的。Archive引擎非常适合存储归档类数据,如记录日志的信息可以使用Archive引擎。
3、简述数据三大范式?
4、什么是事务?MySQL如何支持事务?
5、简述数据库设计中一对多和多对多的应用场景?
6、如何基于数据库实现商品计数器?
7、常见SQL(必备)
8、简述触发器、函数、视图以及存储过程?
9、MySQL索引分类
10、索引在什么情况下遵循最左前缀的规则?
11、主键和外键的区别?
12、MySQL常见的函数?
13、列举创建索引但是无法命中索引的8种情况?
14、如何开启慢查询日志?
15、数据库导入导出命令(结构+数据)
16、数据库优化方案?
17、char和varchar的区别?
18、简述MySQL的执行计划?
19、在对name做了唯一索引的前提下,简述以下区别?
select * from tb where name = ‘Oldboy-Wupeiqi’ select * from tb where name = ‘Oldboy-Wupeiqi’ limit 1
20、1000w条数据,使用limit offset分页时候,为什么越往后翻越慢?如何解决?
21、什么是索引合并?
22、什么是覆盖索引?
23、简述数据库读写分离?
24、简述数据库分库分表?(水平、垂直)
25、Redis和memcached的比较
26、Redis中数据库默认是多少个db及作用
27、Python操作Redis的模块?
28、如果Redis总某个列表的数据量非常大,如何实现循环显示每一个值?
29、Redis如何实现主从复制?以及数据同步机制?
30、Redis中的sentine的作用?
31、如何实现Redis集群?
32、Redis中默认有多少个哈希槽?
33、简述Redis有哪几种持久化的策略及比较?
34、列举Redis支持的过期策略?
35、MySQL里有2000w的数据,redis中只存20w数据,如何保证Redis中都是热点数据?
36、写代码,基于Redis的列表实现先进先出,后进先出队列,优先级队列?
37、如何基于Redis实现消息队列?
38、如何基于Redis实现发布和订阅?以及发布订阅和消息队列的区别?
39、什么是codis及其作用?
40、什么是twemproxy及其作用?
41、写代码实现Redis事务操作?
42、Redis中的watch的命令的作用?
43、基于Redis如何实现商城商品数量计数器?
44、简述Redis分布式锁和redlock的实现机制?
45、什么是一致性哈希?Python中是否有相应模块?
46、如何高效低找到Redis中所有以oldboy开头的key?
Part04-前端框架和其他(155)
1、谈谈你对http协议的认知
2、谈谈你对websocket协议的认知
3、什么是magic string?
4、如何创建响应式布局
不吹不擂,你想要的Python面试都在这里了【315+道题】+精心整理的解答的更多相关文章
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- 不吹不擂,你想要的Python面试都在这里了【315+道题】
写在前面 近日恰逢老男孩全栈8期毕业季,课程后期大家“期待+苦逼”的时刻莫过于每天早上内容回顾和面试题问答部分[临近毕业每天课前用40-60分钟对之前内容回顾.提问和补充,专挑班里不爱说话就的同学回答 ...
- 你想要的Python面试都在这里了【315+道题】
写在前面 近日恰逢学生临近毕业,课程后期大家"期待+苦逼"的时刻莫过于每天早上内容回顾和面试题问答部分[临近毕业每天课前用40-60分钟对之前内容回顾.提问和补充,专挑班里不爱说话 ...
- 不吹不擂,Python编程【315+道题】
写在前面 近日恰逢学生毕业季,课程后期大家“期待+苦逼”的时刻莫过于每天早上内容回顾和面试题问答部分[临近毕业每天课前用40-60分钟对之前内容回顾.提问和补充,专挑班里不爱说话就的同学回答]. 期待 ...
- 不吹不擂,315 道 Python 面试题,欢迎挑战!
各位大佬暂时先来315道题尝尝吧,后面有时间再继续补充. 有缘人如果看到这些题,不妨留言一下答案,来证明下你到底有多水,哈哈哈哈哈刀哈哈哈哈哈哈 第一部分 Python基础篇(80题) 1.为什么学习 ...
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
- 对于不平凡的我来说,从小我就在想为啥别人就什么都能拥有,而看看自己却什么都没有,对于原来的我就会抱怨爸妈怎么没有别人父母都能给自己想要的,可我从未想过父母的文化只有小学,其实父母内心也有太多的辛酸,所以我不甘愿如此,从此让我在大学里面直接选择一个让我巨大的转折————IT。
对于不平凡的我来说,从小我就在想为啥别人就什么都能拥有,而看看自己却什么都没有,对于原来的我就会抱怨爸妈怎么没有别人父母都能给自己想要的,可我从未想过父母的文化只有小学,其实父母内心也有太多的辛酸,所 ...
- 1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知
乔丹是我听过的篮球之神,科比是我亲眼见过的篮球之神.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免 ...
- 这才是你想要的 Python 可视化神器
Plotly Express 是一个新的高级 Python 可视化库:它是 Plotly.py 的高级封装,它为复杂的图表提供了一个简单的语法. 受 Seaborn 和 ggplot2 的启发,它专门 ...
随机推荐
- IOS Git源代码管理工具
.新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...
- B. Qualifying Contest_排序
B. Qualifying Contest time limit per test 1 second memory limit per test 256 megabytes input standar ...
- SSM框架整合:转自:http://blog.csdn.net/zhshulin
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- php开启短标签支持
打开php.ini,找到 short_open_tag = Off ,将 Off 改为 On
- js 金额小写转换为大写
<script> jQuery(document).ready(function () { //当金额文本框失去焦点时,自动将数字转化为大写填充到 大写的文本框中 $("#Amo ...
- 在jdbc基础上进阶一小步的C3p0 连接池(DBCP 不能读xml配置文件,已淘汰) 和DBUtils 中两个主要类QueryRunner和ResultSetHandler的使用
首先看C3p0这个连接池,最大优势可以自动读取默认的配置文件 <?xml version="1.0" encoding="UTF-8"?> < ...
- BZOJ4128: Matrix(BSGS 矩阵乘法)
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 813 Solved: 442[Submit][Status][Discuss] Descriptio ...
- centos 7 编译安装mysql 详细过程
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- LeetCode962. 最大宽度坡
问题:最大宽度坡 给定一个整数数组 A,坡是元组 (i, j),其中 i < j 且 A[i] <= A[j].这样的坡的宽度为 j - i. 找出 A 中的坡的最大宽度,如果不存在,返 ...
- SSO 单点登录总结(PHP)
本篇文章根据个人理解的知识整理汇总,如有不足之处,请大家多多指正. 单点登录(SSO--Single Sign On)的应用是很普遍的,尤其在大型网站系统中,比如百度,登录百度账号和,再转到百度经验. ...