Q:OOP编程三大特点是什么,多态应用的基础是什么?
A:封装就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系。继承是子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方 法进行重写。继承增加了代码的可重用性。多态是多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却 可以获得完全不同的结果,多态性增强了软件的灵活性。(多态的概念依赖于继承)
Q:请解释下TCP/IP协议和HTTP协议?
A:HTTP协议:HTTP协议即超文本传输协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关 闭连接的过程称为"一次连接”。
TCP/IP协议:TCP/IP(Transmission Control Protocol/Internet Protocol)协议是传输层协议,主要解决数据如何在网络中传输。HTTP是应用层协议,主要解决如何包装数据。IP 协议对应于网络层。
Q:简单说说赋值、浅拷贝和深拷贝的区别
A:赋值,就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。
对于可变类型的数据:
浅拷贝会把对象复制一份,但该对象中引用的其他对象不复制(而是把引用传递过去)
深拷贝会把对象复制一份,并且该对象中引用的其他对象也复制一遍
对于不可变类型数据:
python为了节省内存,不论是深拷贝还是浅拷贝都不会复制,而是把引用直接传递过去
但对于在不可变类型中有可变类型的情况:
如(123,456,[]),此时该元组对象实际上是"可变的”,因此可以把它当做一个"可变类型的数据”来对待
Q:说说session和cookie的联系和区别
A:联系:Session 对 Cookie 的依赖:Cookie 采用客户端存储,Session 采用的服务端存储的机制。Se ssion 是针对每个用户(浏览器端)的,Session 值保存在服务器上,通过 SessionId 来区分哪个用 户的 Session。因此 SessionId 需要被绑定在浏览器端。SessionId 通常会默认通过 Cookie 在浏览 器端绑定。
区别:Cookie 数据存放在客户的浏览器上,session 数据放在服务器上。Cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应 当使用 Session。Session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到 减轻服务器性能方面,应当使用 Cookie。单个 Cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 Cookie。 5、可以考虑将登陆信息等重要信息存放为 Session,其他信息如果需要保留,可以放在 Cookie 中。
Q:ajax请求页面如何加载?
A:ajax 可以实现局部刷新,也叫做无刷新,无刷新指的是整个页面不刷新,只是局部刷新,ajax 可以 自己发送 http 请求,不用通过浏览器的地址栏,所以页面整体不会刷新,ajax 获取到后台数据,更新 页面显示数据的部分,就做到了页面局部刷新。
Q:Python里面range和xrange的区别
A:xrange 和 range 的参数和用法是相同的。只是 xrange()返回的不再是一个数列,而是一个 xrange 对象。这个对象可以按需生成参数指定范围内的数字(即元素)。由于 xrange 对象是按需生成单个的 元素,而不像 range 那样,首先创建整个 list。所以,在相同的范围内,xrange 占用的内存空间将更 小,xrange 也会更快。实际上,xrange 由于是在循环内被调用时才会生成元素,因此无论循环多少次, 只有当前一个元素占用了内存空间,且每次循环占用的都是相同的单个元素空间。但是python3里面已经没有xrange了。
Q:什么是 lambda 函数? 有什么好处?
A:lambda函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数,lambda函数比较轻便,即用即仍,很适合需要完成一项功能,但是此功能只在此一处使用,连名字都很随意的情况下;匿名函数,一般用来给filter,map这样的函数式编程服务;作为回调函数,传递给某些应用,比如消息处理。
面试总结:
总的来说技术面试上有深有浅,所以遇到自己会的就尽量说多说全展现出自己的自信和风采,不太了解的按自己的理解和经验尽量阐述即可,并且要保持一个冷静和彬彬有礼的状态。