1.单元测试,单例模式
单元测试(unit testing):是指对软件中的最小测试单元进行检查和验证,对于单元测试中的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,java里单元指一个类,图形化软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
单例模式:是一种常用的软件设计模式,在它的核心结构中只包含一个被称为单例的特殊类,通过单例模式可以保证系统中应用该模式的类只有一个实例,即一个类只有一个对象实例。
2.类方法,静态方法区别
静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,主要是一些逻辑属于类,但是和类本身没有交互,即在静态方法中,不会涉及到类中的方法和属性的操作。可以理解为将静态方法存在此类的名称空间中。
类方法是将类本身作为对象进行操作的方法。它和静态方法的区别在于:不管这个方式是从实例调用还是从类调用,它都用第一个参数把类传递过来。
3.Python 中的复制,底层是怎么实现的
Python中,对象的赋值实际上是简单的对象引用。也就是说,当你创建一个对象,然后把它复制给另一个变量的时候,python并没有拷贝这个对象,而是拷贝了这个对象的引用。
4.登录一个网站发生的过程,越详细越好
一个网页从请求到最终显示的完整过程一般分为如下7个步骤:
-
在浏览器中输入网址;
-
发送至DNS服务器并获得域名对应的WEB服务器的IP地址;
-
与WEB服务器建立TCP连接;
-
浏览器向WEB服务器的IP地址发送相应的HTTP请求;
-
WEB服务器响应请求并返回指定URL的数据,或错误信息,如果设定重定向,则重定向到新的URL地址;
-
浏览器下载数据后解析HTML源文件,解析的过程中实现对页面的排版,解析完成后再浏览器中显示基础页面;
-
分析页面中的超链接并显示当前页面,重复以上过程直至无超链接需要发送,完成全部显示。
5.说一下HTTP协议
超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP是一个客户端和服务器端请求和应答的标准。客户端是终端用户,服务端是网站。通过使用Web浏览器、网络爬虫或者其他的工具,客户端发起一个到服务器上指定端口的HTTP请求,叫用户代理。应答的服务器上存储着资源,比如HTML文件和图像,这个应答服务器为源服务器。在用户代理和源服务器中间可能存在http其他几种网络协议多个中间层,比如代理,网管,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现,HTTP只假定可靠的传输,任何能够提供这种保证的协议都可以被其使用。
6. MySql 如何优化
1.选择合适的存储引擎:InnoDB
2.保证从内存中读取数据,将数据保存在内存中
3.定期优化重建数据库
4.降低磁盘写入操作
5.提高磁盘读写速度
6.充分利用索引
7.分析查询日志和慢查询日志
8.激进的方法,使用内存磁盘
9.用NOSQL的方式使用MYSQL