人工面试题

1、字符串常用方法? (5个以上)

  1. find方法可以在一个较长的字符串中查找子串
  2. join方法是非常重要的字符串方法,他是split方法的逆方法
  3. split方法,是一个非常重要的字符串,它是join的逆方法
  4. strip 方法返回去除首位空格
  5. replace方法返回某字符串所有匹配项均被替换之后得到字符串

2、进程和线程的区别是什么,至少写出三条?
1、进程包含线程
2、线程共享内存空间
3、进程内存是独立的
4、进程可以生成子进程,子进程之间互相不能互相访问
5、线程可以帮助应用程序同时做几件事

3、字典常用方法

  1. clear:方法清除字典中所有的项
  2. get:方法是个更宽松的访问字典项的方法
  3. for:循环字典的三种方法
  4. update:方法可以利用一个字典项更新另一个字典

4、列举四个常见的魔法方法,并写出他们的执行顺序?
new : 先于__init__方法,每生成一个实例执行一次,new 类方法创建实例对象
init : __init__方法每生成一个实例就会执行一次,初始化实例对象
call : 后与__init__方法,C()() 使用类再加一个括号调用,
del : 析构方法,删除无用的内存对象

5、什么是mysql事务,四大特性和四个隔离界别分别是什么?
事务:

  1. 事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态。
    2.在数据库提交时,可以确保要么所有修改都已保存,要么所有修改都不保存。
    四大特性:原子性,一致性,隔离性,持久性
    四大隔离级别:未提交读(脏读) 提交读(不可重复读) 幻读 可串行读

6、简述常见数据结构,并说明其特点?(非python的基础数据类型)
栈:先进后出的数据集合
队列:先进先出的数据集合
链表:添加删除元素,比列表高效
数组:所谓数组,就是相同数据类型的元素按一定顺序排列的集合
哈希:哈希表(也叫散列表),根据关键值对(Key-value)而直接进行访问的数据结构。

7、python的垃圾回收机制,并简述其原理?
引用计数:当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1
标记-清除:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第二阶段是把那些没有标记的对象非活动对象进行回收。
分代回收:分代回收是建立在标记清除技术基础之上的,是一种以空间换时间的操作方式。

8、python中四大高阶函数?并举例说明?
Sorted函数
filter()函数
Map方法
reduce函数

9、简述redis主从同步原理?

  1. CPA原理是分布式存储理论的基石: C(一致性); A(可用性); P(分区容忍性);
  2. 当主从网络无法连通时,修改操作无法同步到节点,所以“一致性”无法满足
  3. 除非我们牺牲“可用性”,也就是暂停分布式节点服务,不再提供修改数据功能,直到网络恢复
    一句话概括CAP: 当网络分区发生时,一致性和可用性两难全

10、linux常见命令(10个以上)?
Stop(关闭)
restart(重启)
reboor(重启)
reload(重载)
poweroff(关机)
halt(关机)
cat(在命令提示符下查看文件内容)
more(在命令提示符下查看文件内容)
less(在命令提示符下查看文件内容)
Ls(在命令提示符下查看文件内容)
cp(复制文件或目录)
cd(切换目录)
rm(删除文件)

11、mysql常见的优化方式有哪些,至少写出五条?

  1. 字段设计优化 适应遵循数据库三范式
  2. 引擎的选择 适应选择MyIsam & InnoDB
  3. 索引 索引也会消耗内存空间,并不是越多越好。而且索引的种类都有各自的有点
  4. 查询缓存 将 select查询结果缓存起来,key 为SQL语句,value 为查询结果
  5. 分区
  6. 水平分割和垂直分割
  7. 集群
  8. SQL语句
  9. 服务器的选择 选择配置较高的服务器

12、post和get的区别是什么,至少写出三条?

  1. 收发数据来说
    GET请求一般用去请求获取数据,
    POST一般作为发送数据到后台时使用
    2、传输数据的参数上
    GET 一般放在URL中明文传输
    POST 一般放在请求体中传输
    3、刷新浏览器或者重复请求上(后退)来说
    GET请求刷新浏览器或回退时没有影响
    POST回退时会重新提交数据请求
    4、数据缓存上来说
    GET 请求可被缓存
    POST 请求不会被缓存
    5、历史记录上来说
    GET 请求保留在浏览器历史记录中
    POST 请求不会保留在浏览器历史记录中
    6、收藏上来说
    GET 请求可被收藏为书签
    POST 不能被收藏为书签

13、你常用的mysql引擎有哪些?各引擎间有什么区别?
1)InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用
3)InnoDB支持外键,MyISAM不支持
4)从MySQL5.5.5以后,InnoDB是默认引擎
5)InnoDB不支持FULLTEXT类型的索引
6)InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含where条件时MyISAM也需要扫描整个表
7)对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
8)清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
9)InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like ‘%lee%’。

14、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)?
赋值,浅拷贝,深拷贝
赋值 =
浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变,
深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变

15、用Python匹配HTML tag的时候,<.>和<.?>有什么区别?
给定字符串: aabab 的话,

a.*?b匹配最短的,以a开始,以b结束的字符串。它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)

a.*b 匹配最长的, 匹配到 aabab

16、Python都有哪些自带的数据结构?(每个数据结构写出3个对应的方法)
列表:pop,append,sort
字典:get,for,update

17、请写出至少8个python中常见的关键字?
And or not true false return pass if elif else

18、python中pass语句的作用?并举例说明?
占位符,不需要输出任何语句的时候执行函数用pass占位即可
Def func():
Pass

Fucn()

19、简述break和continue的区别和共性?
区别:
break,结束循环,不在进行下一个循环的操作
Continue,结束本次循环,准备进行下一个循环
共性:结束循环

20、linux常见命令(10个以上)?
Stop(关闭)
restart(重启)
reboor(重启)
reload(重载)
poweroff(关机)
halt(关机)
cat(在命令提示符下查看文件内容)
more(在命令提示符下查看文件内容)
less(在命令提示符下查看文件内容)
Ls(在命令提示符下查看文件内容)
cp(复制文件或目录)
cd(切换目录)
rm(删除文件)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熏悟坑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值