岗位是Python开发工程师(J10184)
面试问的问题我给大家总结一波,有些忘记了,下面的是我自己个人的见解,不过我是建议大家去百度的🤭
一、mysql 相关的
-
主从数据库是如何同步的? 1、主数据库进行插入更新删除等操作时,会即时把日志写到主数据库日志文件(binary log events)里面。 2、这时候,会把日志通过网络发送给从数据库,一般是3306端口。从数据库把日志拷贝到中继日志里面(relay log) 3、从数据库会把日志事件一条条拿出来执行。 4、一般是用来做读写分离,只用主数据库做插入和修改,从数据库用来读。 -
事务ACID? 1、A 原子性(Atomicity),原子性是指,一个事务是不可分割的单位,里面的操作要么都执行,要么都不执行。 2、C 一致性(Consistency),一致性是指,事务开始之前和事务结束之后,数据库的状态都是一样的。 3、I 隔离性(Isolation),隔离性是指,事务之间是相互隔离的,事务只能排队执行。 4、D 持久性(Durability),持久性是指,事务操作执行的任何变化,最后都会写到硬盘上面,数据库里面永久的存储起来。 -
扫描的理解 扫描,mysql的专业术语。是指对mysql的表进行搜索操作时,mysql对表内数据进行检索的过程。可以适当的使用索引来减少扫描的区域。b树,b+树(mysql默认),哈希索引。 -
主键的数据类型 1、主键不可以用blob型和text型 2、键的数据类型有,char,varcahr,int,smallint,timetamp,float,text,blob等 -
索引的类型有哪些? 1、普通索引,只是单纯的加快查询速度。 2、唯一索引,表内唯一,可以为null。 3、主键索引,组合后表内唯一,约束数据的唯一性,不可以为null。 4、组合索引,就是多个普通索引,和主键索引差不多,但是可以不唯一。 5、全文索引,用来检索大文本。
二、redis 相关的
-
数据类型有哪些? string(字符串)可以单独设置过期时间,list(列表),set(集合),zset(有序集合),hash(哈希)节省空间 -
除了做缓存还能做哪些功能? 1、秒杀的库存减持; 2、在线的好友列表; 3、时效性,登录态的定时删除。 4、分布式锁; 5、消息队列,马上处理的队列和延时队列; 6、漏斗限流,漏斗容量,能限制特定秒数内的请求数量。 7、附件的好友,使用GEO地理位置模块。
三、Python 相关的
-
python3如何print在同一行? 在print之后加上end = ‘’ ,例print(‘a’, end = ‘’) print(‘b’),输出 ab ,这样可以把第一行最后的’\n’清除掉 -
数据类型有哪些? 1、数字型;2、集合;3、字符串型;4、列表;5、字典;6、元组;7、布尔型,是数字型的子类(int)。 -
类几种方法(函数)的区别
1、实例方法,不带任何装饰符,必须要有且第一个参数一定是self,代表实例本身。可以调用其他实例属性和方法。
2、类方法,带装饰符@classmethod,必须要有第一个参数一定是cls,代表类本身。可以同过cls调用其他类属性和方法。
3、静态方法,带装饰符@staticmethod,可以通过实例或者类直接调用,但是无法调用其他类属性和方法。
-
深拷贝和浅拷贝的区别
1、浅拷贝,只会拷贝到结构的顶层,所以拷贝对象中如果有字典,列表这些,改变拷贝后的数据,拷贝前的对应数据也会进行改变。
2、深拷贝,可以拷贝到整个结构,完全就是两个互不相关的变量了。
-
函数中*args和**args参数的区别 1、*args,在函数里面的数据类型是元组。2、**args,在函数里面的数据类型是字典。 -
异常的每个流程在什么情况下执行? 1、try,主流程内容,一定会执行。 2、except,当try里面的代码执行出现问题时,才会执行。 3、finally,无论流程怎样,最后总会执行。 -
浅谈django的csrf。 1、csrf,是指跨站请求伪造。当攻击者盗取到cookie以后,就能假装是该账号的信息了。 2、django的csrf是指每次提交时,需要post接口提交指定的csrf-token进行安全检查。 -
orm如何做优化 1、由于orm的查询时惰性的,可以使用迭代和裁切来进行优化。 2、缓存,iterator每次只取一条数据。 3、使用索引。 -
防攻击策略 1、使用token,每个人都给一个appid,然后根据一定的顺序加密,会带有时效性。 2、使用白名单域名。 3、检查参数是否有sql注入。 -
session 和 cookie的区别 1、session保存在服务端,cookie保存在客户端(一般是浏览器上面); 2、cookie不是很安全,别人可以拿到本地cookie然后进行分析。 3、单个站点每个cookie限制4k,然后二十个。 4、session比较占用服务器性能; 5、会话机制不一样,session是服务器会话机制,比如哈希表;cookie是存储在客户端的小段文本,会跟随http请求到服务器。
四、IO操作
-
IO多路复用 IO阻塞型模型上加了select监听;通过一种机制,可以监视多个描述符,然后当描述符准备就绪,就进行对应的读写操作。 -
协程 主要是用到了yield,可以在特定的情况下切换上下文函数。python加上select自动监听模块gevent,则变成了IO多路复用了。
五、前端
-
vue生命周期 1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyd; -
固定定位,绝对定位,相对定位 1、固定定位:left,top都是基于body的,可以作为网页的顶栏标签,导航或者回到顶层。 2、相对定位:用来做相对定位的父元素的。通过left,top之类的移动,之前占的位置不变。 3、绝对定位:left,top之类的定位操作,会一直在父元素往dom元素上层找到固定定位的元素为止(否则会以body为参照物)。一般都是用来做盒子的关闭按钮,统计之类的。子绝父相。
六、http请求
-
请求有哪些类型? 1、options;2、head;3、get;4、post;5、put;6、trace;7、delete;8、connect -
get和post同一个请求,返回的有啥区别? 没啥区别
|