web
Python面试重点(web篇)
注意:只有必答题部分计算分值,补充题不计算分值。
第一部分 必答题
注意:除第四题4分以外,其他题均每题3分。
-
写出常用的bootstrap的样式。
①靠右对齐: 只需要添加样式类pull-right即可!
回到页面顶部:只需添加href="#top"即可!
②<pre></pre>和其类.pre-scrollable(整块突出和设置滚动条)
元素一般用于显示大块的代码,并保证原有格式不变。但有时候代码太多,而且不想让其占有太大的页面篇幅,就想控制代码块的大小。Bootstrap也考虑到这一点,你只需要在pre标签上添加类名“.pre-scrollable”,就可以控制代码块区域最大高度为340px,一旦超出这个高度,就会在Y轴出现滚动条。
③强调文章里的某个字眼:
btn
④有时候我们需要将表单的控件都在一行内显示,在Bootstrap框架中实现这样的表单效果是轻而易举的,你只需要添加类名“form-inline”即可。
⑤文本强调样式:
-
.text-muted:提示,使用浅灰色(#999)
-
.text-primary:主要,使用蓝色(#428bca)
-
.text-success:成功,使用浅绿色(#3c763d)
-
.text-info:通知信息,使用浅蓝色(#31708f)
-
.text-warning:警告,使用黄色(#8a6d3b)
-
.text-danger:危险,使用褐色(##a94442)
-
-
什么是响应式布局?
真正的响应式设计方法不仅仅是根据可视区域大小而改变网页布局,而是要从整体上颠覆当前网页的设计方法,是针对任意设备的网页内容进行完美布局的一种显示机制。
-
请通过jQuery发送ajax请求。
$.ajax({
type: 'POST',
url: "http://xxx/yyy/zzz/register",
data: JSON.stringify({
username:$(".tel").val(),
smsVerifyCode:$('.captchaVal').val(),
realName:$('.username').val(),
email:$('.email').val(),
password:$(".pwd").val(),
}),
contentType:'application/json',
success: function(data){
if(data.code===200){
$.toast("注册成功", "text")
setTimeout(function () {
location.href = "login.html"
}, 500);
}else {
$.toast(data.message, "text")
}
},
error: function(){
$.toast("注册失败", "text")
},
dataType: "json",
}) -
JavaScript与this相关的面试题(4分)
name = '老男孩';
info = {
name:'alex',
age:123,
func:function(){
console.log(this.name);
}
}
info.func()name = '老男孩';
info = {
name:'alex',
age:123,
func:function(){
console.log(this.name);
function f1(){
console.log(this.name);
}
f1()
}
}
info.func()name = '老男孩';
info = {
name:'alex',
age:123,
func:function(){
console.log(this.name);
(function(){
console.log(this.name);
})()
}
}
info.func()name = '老男孩';
info = {
name:'alex',
age:123,
func:function(){
console.log(this.name);
var xxx = this;
(function(){
console.log(xxx.name);
})()
}
}
info.func()
-
什么是跨域?如何解决?
违背同源策略就会产生跨域。jsonp(前后端配合)、 cors(后端配置)、 服务器代理(后端设置)...
-
简述你对Http协议的理解?
http是一种超文本传输协议,传输的数据都是未加密的,也就是显示在明面上的,是现在互联网上应用最为广泛的一种网络协议,相对来说不太安全,但是所需成本很小。http一般的端口号为80.
-
简述你对Https协议的理解?
https则是具有安全性的ssl加密传输协议。简单来说,https是一种安全版的http,传输的数据是通过SSL加密的,比起http来说很安全,https协议的主要作用就是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。但是相对来说,成本所需较高,尤其是所需ca证书等级越高,费用越高(ca证书功能越强大,所需费用越高)。https一般的端口号为443。
-
列举常见的http请求头及作用?
①Accept②Accept-Charset③Accept-Encoding④Accept-Language
-
列举常见的http请求方法及作用?
-
列举常见的http响应状态码。
410/200/502/504
-
http中
connections:keep-alive
的请求头的作用?更高效,性能更高。
-
django请求生命周期?
当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配,一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了.视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符串返回给客户端. 客户端浏览器接收到返回的数据,经过渲染后显示给用户.视图函数根据客户端的请求查询相应的数据后.如果同时有多个客户端同时发送不同的url到服务端请求数据服务端查询到数据后,怎么知道要把哪些数据返回给哪个客户端呢??因此客户端发到服务端url中还必须要包含所要请求的数据信息等内容.
-
什么是wsgi?
是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。
-
什么是MVC ?什么是MTV?
所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。MTV(django)M:模型层,功能同上T:templates:模板层,用于处理用户显示部分的内容,和MVC中的V是一样的,通过html展示V:views 视图层,在MTV中视图层是处理用户交互的部分,从模型层中获取数据,再将数据交给模板层,再先是给用户和MVC中的控制层用法一样
-
django中间件作用以及应用场景?
-
django中FBV和CBV有什么区别?
FBV是函数处理,CBV是类处理
-
django orm中如何批量创建数据?
批量更新数据时,先进行数据过滤,然后再调用update方法进行一次性地更新。批量更新数据时,先是进行数据过滤,然后再调用delete方法进行一次性删除。
-
django 如何执行原生SQL?
Django 提供两种方法使用原生SQL进行查询:一种是使用raw()方法,进行原生SQL查询并返回模型实例;另一种是完全避开模型层,直接执行自定义的SQL语句。
-
django的orm如何查询id不等于5的数据。
-
cookie和session的区别?
储存位置不同、储存容量不同、储存方式不同、隐私策略不同、有效期上不同、服务器压力不同、浏览器支持不同、跨域支持上不同、
-
django的orm中on_delete的作用?
删除关联数据。
-
描述crm有哪些功能?
客户管理、联系人管理、时间管理、潜在客户管理、销售管理
-
crm中什么是公户?什么是私户?为什么要做这个区分?
公户是所有用户都可以看见,私户是仅有指定的人员可以进行看见。为了更好的服务用户。
-
请列举出CRM系统中的表。
-
对数据库的数据做展示时,不同字段类型有不同的展示方法,分别是什么?
-
请详细说说你们公司销售是如何使用CRM的。
细分市场、重点客户、增加订单
-
CRM中有哪些技术点?
内部部署型、基于云的crm
-
为什么不用现成的crm而是自己去开发?
现成的数据过多。
-
请简述实现权限控制的流程。
-
列举权限有多少张表?表中都有那些字段?
-
为什么要把权限信息放到session中?权限信息放到session有什么优缺点?
-
权限控制到按钮级别是如何实现的?
-
如何实现把权限粒度控制到数据行?
第二部分 补充题
-
详细描述是jsonp实现机制?
-
django的orm如何通过数据自动化生成models类?
-
-
django中信号的作用?
-
django中如何设置读写分离