python后端面试第七部分:项目部分--长期维护

##################    Python语法基础        #######################

项目部分

4.python适合的场景有哪些?当遇到计算密集型任务怎么办?

Python适合的场景1. 科学计算 2. 快速原型开发 3.网站. 4. 脚本。 实际上在各个方向上它都有挺多应用,前列几项算是比较火的吧。计算密集型任务模块用C/C++做。多进程,多线程也可以稍微提高些。


5.python高并发解决方案?我希望听到twisted->tornado->gevent,能扯到golang,erlang更好

安全

web安全相关 
1.sql注入是怎么产生的,如何防止?

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,

最终达到欺骗服务器执行恶意SQL命令的目的。

如何防止:

1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和

双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。

2.xss如何预防?html escape后能否避免xss?

密码技术

1.什么是分组加密?加密模式有哪些?ecb和cbc模式有什么区别?为什么需要iv向量?


2.简单说说https的过程?

http 运行在TCP 之上,数据明文传输。HTTPS 运行在SSL/TLS之上,SSL/TLS运行在TCP之上,是加密协议,因此HTTPS传输

的已经是加密的数据,加密采用对称加密。但对称加密的密钥用服务器方的证书进行了非对称加密。

SSL/TLS中使用了非对称加密,对称加密以及HASH算法。

http://www.cnblogs.com/binyue/p/4500578.html

HTTPS一般使用的加密与HASH算法如下:
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256

3.对称加密与非对称加密区别?

  

 对称加密是指加密和解密使用的密钥是同一个密钥,或者可以相互推算。

对称加密的优点是算法简单,加解密效率高,系统开销小,适合对大数据量加密。

缺点是解密加密使用同一个密钥,需要考虑远程通信的情况下如何安全的交换密钥,如果密钥丢失,

所谓的加密解密就失效了。

 非对称加密和解密使用的密钥不是同一密钥,其中一个对外界公开,被称为公钥,另一个只有所有者知道,

称作私钥。
用公钥加密的信息必须用私钥才能解开,反之,用私钥加密的信息只有用公钥才能解开。

4.如何生成共享秘钥? 如何防范中间人攻击?

猜你喜欢

转载自www.cnblogs.com/andy0816/p/12228530.html