广州嘉为科技有限公司,Python面试问的面试题目!!!

岗位是Python开发工程师(J10184)

面试问的问题我给大家总结一波,有些忘记了,下面的是我自己个人的见解,不过我是建议大家去百度的🤭

在这里插入图片描述

一、mysql 相关的
  1. 主从数据库是如何同步的?
    1、主数据库进行插入更新删除等操作时,会即时把日志写到主数据库日志文件(binary log events)里面。
    2、这时候,会把日志通过网络发送给从数据库,一般是3306端口。从数据库把日志拷贝到中继日志里面(relay log)
    3、从数据库会把日志事件一条条拿出来执行。
    4、一般是用来做读写分离,只用主数据库做插入和修改,从数据库用来读。
  2. 事务ACID?
    1、A 原子性(Atomicity),原子性是指,一个事务是不可分割的单位,里面的操作要么都执行,要么都不执行。
    2、C 一致性(Consistency),一致性是指,事务开始之前和事务结束之后,数据库的状态都是一样的。
    3、I 隔离性(Isolation),隔离性是指,事务之间是相互隔离的,事务只能排队执行。
    4、D 持久性(Durability),持久性是指,事务操作执行的任何变化,最后都会写到硬盘上面,数据库里面永久的存储起来。
  3. 扫描的理解
    扫描,mysql的专业术语。是指对mysql的表进行搜索操作时,mysql对表内数据进行检索的过程。可以适当的使用索引来减少扫描的区域。b树,b+树(mysql默认),哈希索引。
  4. 主键的数据类型
    1、主键不可以用blob型和text型
    2、键的数据类型有,char,varcahr,int,smallint,timetamp,float,text,blob等
  5. 索引的类型有哪些?
    1、普通索引,只是单纯的加快查询速度。
    2、唯一索引,表内唯一,可以为null。
    3、主键索引,组合后表内唯一,约束数据的唯一性,不可以为null。
    4、组合索引,就是多个普通索引,和主键索引差不多,但是可以不唯一。
    5、全文索引,用来检索大文本。
二、redis 相关的
  1. 数据类型有哪些?
    string(字符串)可以单独设置过期时间,list(列表),set(集合),zset(有序集合),hash(哈希)节省空间
  2. 除了做缓存还能做哪些功能?
    1、秒杀的库存减持;
    2、在线的好友列表;
    3、时效性,登录态的定时删除。
    4、分布式锁;
    5、消息队列,马上处理的队列和延时队列;
    6、漏斗限流,漏斗容量,能限制特定秒数内的请求数量。
    7、附件的好友,使用GEO地理位置模块。
三、Python 相关的
  1. python3如何print在同一行?
    在print之后加上end = ‘’ ,例print(‘a’, end = ‘’) print(‘b’),输出 ab ,这样可以把第一行最后的’\n’清除掉
  2. 数据类型有哪些?
    1、数字型;2、集合;3、字符串型;4、列表;5、字典;6、元组;7、布尔型,是数字型的子类(int)。
  3. 类几种方法(函数)的区别
1、实例方法,不带任何装饰符,必须要有且第一个参数一定是self,代表实例本身。可以调用其他实例属性和方法。

2、类方法,带装饰符@classmethod,必须要有第一个参数一定是cls,代表类本身。可以同过cls调用其他类属性和方法。

3、静态方法,带装饰符@staticmethod,可以通过实例或者类直接调用,但是无法调用其他类属性和方法。
  1. 深拷贝和浅拷贝的区别
1、浅拷贝,只会拷贝到结构的顶层,所以拷贝对象中如果有字典,列表这些,改变拷贝后的数据,拷贝前的对应数据也会进行改变。
2、深拷贝,可以拷贝到整个结构,完全就是两个互不相关的变量了。
  1. 函数中*args和**args参数的区别
    1、*args,在函数里面的数据类型是元组。2、**args,在函数里面的数据类型是字典。
  2. 异常的每个流程在什么情况下执行?
    1、try,主流程内容,一定会执行。
    2、except,当try里面的代码执行出现问题时,才会执行。
    3、finally,无论流程怎样,最后总会执行。
  3. 浅谈django的csrf。
    1、csrf,是指跨站请求伪造。当攻击者盗取到cookie以后,就能假装是该账号的信息了。
    2、django的csrf是指每次提交时,需要post接口提交指定的csrf-token进行安全检查。
  4. orm如何做优化
    1、由于orm的查询时惰性的,可以使用迭代和裁切来进行优化。
    2、缓存,iterator每次只取一条数据。
    3、使用索引。
  5. 防攻击策略
    1、使用token,每个人都给一个appid,然后根据一定的顺序加密,会带有时效性。
    2、使用白名单域名。
    3、检查参数是否有sql注入。
  6. session 和 cookie的区别
    1、session保存在服务端,cookie保存在客户端(一般是浏览器上面);
    2、cookie不是很安全,别人可以拿到本地cookie然后进行分析。
    3、单个站点每个cookie限制4k,然后二十个。
    4、session比较占用服务器性能;
    5、会话机制不一样,session是服务器会话机制,比如哈希表;cookie是存储在客户端的小段文本,会跟随http请求到服务器。
四、IO操作
  1. IO多路复用
    IO阻塞型模型上加了select监听;通过一种机制,可以监视多个描述符,然后当描述符准备就绪,就进行对应的读写操作。
  2. 协程
    主要是用到了yield,可以在特定的情况下切换上下文函数。python加上select自动监听模块gevent,则变成了IO多路复用了。
五、前端
  1. vue生命周期
    1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyd;
  2. 固定定位,绝对定位,相对定位
    1、固定定位:left,top都是基于body的,可以作为网页的顶栏标签,导航或者回到顶层。
    2、相对定位:用来做相对定位的父元素的。通过left,top之类的移动,之前占的位置不变。
    3、绝对定位:left,top之类的定位操作,会一直在父元素往dom元素上层找到固定定位的元素为止(否则会以body为参照物)。一般都是用来做盒子的关闭按钮,统计之类的。子绝父相。
六、http请求
  1. 请求有哪些类型?
    1、options;2、head;3、get;4、post;5、put;6、trace;7、delete;8、connect
  2. get和post同一个请求,返回的有啥区别?
    没啥区别
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值