1、双引号和单引号的区别php
2、经常使用的超全局变量(8个)css
***html
* **前端
3、HTTP中POST、GET、PUT、DELETE方式的区别mysql
HTTP定义了与服务器交互的不一样的方法,最基本的是POST、GET、PUT、DELETE,与其比不可少的URL的全称是资源描述符,咱们能够这样理解:url描述了一个网络上资源,而post、get、put、delegate就是对这个资源进行增、删、改、查的操做!git
3.1表单中get和post提交方式的区别web
3.2算法
4、PHP介绍sql
Hypertext Preprocessor----超文本预处理器数据库
Personal Home Page 原始名称
目标用途: 容许web开发人员快速编写动态生成的web页面,与其余页面相比,PHP是将程序嵌入到HTML文档中去执行,效率比彻底生成HTML编辑的CGI高不少
HTML: Hypertext Markup Language
创始人: 拉姆斯勒·勒多夫Rasmus Lerdorf,1968年生,加拿大滑铁卢大学
勒多夫最开始是为了维护我的网页,用prel语言写了维护程序,以后又用c进行了重写,最终衍生出php/fi
时间轴:
常见的IDE(Intergrated Development Environment): 集成开发环境
常见文本编辑器,具有代码高亮:
PHP优点
PHP特性:
PHP优点:
PHP技术应用:
PHP认证级别
6、echo、print_r、print、var_dump之间的区别
* echo、print是php语句,var_dump和print_r是函数 * echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,所以不能做为表达式的一部分使用 * print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),若是字符串显示成功则返回true,不然返回false * print_r 能够打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,由于都是打印"\n",所以var_dump()函数更适合调试 * var_dump() 判断一个变量的类型和长度,并输出变量的数值
7、HTTP状态码
常见的HTTP状态码:
HTTP状态码分类:
中发生了错误
8、什么是魔术引号
魔术引号是一个将自动将进入PHP脚本的数据进行转义的过程,最好在编码时不要转义而在运行时根据须要而转义
9、如何获取客户端的ip(要求取得一个int)和服务器ip的代码
客户端:$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')
ip2long进行转换
服务器端:gethostbyname('www.baidu.com')
10、使用那些工具进行版本控制
cvs、svn、vss、git
11、优化数据库的方法
12、是否使用过模板引擎?使用的模板引擎的名字是?
Smarty:Smarty算是一种很老的PHP模板引擎了,它曾是我使用这门语言模板的最初选择。虽然它的更新已经不算频繁了,而且缺乏新一代模板引擎所具备的部分特性,可是它仍然值得一看。
13、对于大流量网站,采用什么方法来解决访问量的问题
14、语句include和require的区别是什么?为避免屡次包含同一文件,能够用(?)语句代替他们
注意:包含文件不存在或者语法错误的时候require是致命的,而include不是
15、谈谈mvc的认识
由模型、视图、控制器完成的应用程序,由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图
16、 说明php中传值与传引用的区别,并说明传值何时传引用?
变量默认老是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另一个变量时,改变其中一个变量的值,将不会影响到另一个变量
php也提供了另一种方式给变量赋值:引用赋值。这意味着新的变量简单的__引用__(换言之,成为了其别名或者指向)了原始变量。改动的新的变量将影响到原始变量,反之亦然。使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量)
对象默认是传引用
对于较大是的数据,传引用比较好,这样能够节省内存的开销
17、isset、empty、is_null的区别
isset 判断变量是否认义或者是否为空
变量存在返回ture,不然返回false 变量定义不赋值返回false unset一个变量,返回false 变量赋值为null,返回false
empty:判断变量的值是否为空,能转换为false的都是空,为空返回true,反之返回false。
"",0,"0",NULL,FALSE都认为为空,返回true 没有任何属性的对象都认为是空
is_null:检测传入的值(值、变量、表达式)是否为null
定义了,可是赋值为Null 定义了,可是没有赋值 unset一个变量
18、前端调试的工具
19. 简单描述mysql中,索引,主键,惟一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)(新浪网技术部)
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里全部记录的引用指针。
普通索引(由关键字KEY或INDEX定义的索引)的惟一任务是加快对数据的访问速度。
普通索引容许被索引的数据列包含重复的值。若是能肯定某个数据列将只包含彼此各不相同的值,在为这个数据列建立索引的时候就应该用关键字UNIQUE把它定义为一个惟一索引。也就是说,惟一索引能够保证数据记录的惟一性。
主键,是一种特殊的惟一索引,在一张表中只能定义一个主键索引,主键用于惟一标识一条记录,使用关键字 PRIMARY KEY 来建立。
索引能够覆盖多个数据列,如像INDEX(columnA, columnB)索引,这就是联合索引。
索引能够极大的提升数据的查询速度,可是会下降插入、删除、更新表的速度,由于在执行这些写操做时,还要操做索引文件。
20.数据库中的事务是什么?
事务(transaction)是做为一个单元的一组有序的数据库操做。若是组中的全部操做都成功,则认为事务成功,即便只有一个操做失败,事务也不成功。若是全部操做完成,事务则提交,其修改将做用于全部其余数据库进程。若是一个操做失败,则事务将回滚,该事务全部操做的影响都将取消。ACID 四大特性,原子性、隔离性、一致性、持久性。
21.了解XSS攻击吗?如何防止?
XSS是跨站脚本攻击,首先是利用跨站脚本漏洞以一个特权模式去执行攻击者构造的脚本,而后利用不安全的Activex控件执行恶意的行为。
使用htmlspecialchars()函数对提交的内容进行过滤,使字符串里面的特殊符号实体化。
22.SQL注入漏洞产生的缘由?如何防止?
SQL注入产生的缘由:程序开发过程当中不注意规范书写sql语句和对特殊字符进行过滤,致使客户端能够经过全局变量POST和GET提交一些sql语句正常执行。
防止SQL注入的方式:
23.PHP网站的主要攻击方式有哪些?
Forgeries, CSRF)
Evaluation)
Submissions)
24、框架中什么是单一入口和多入口 , 单一入口的优缺点?
缺点:URL 看起来不那么美观,特别是对搜索引擎来讲不友好。
25、 对于关系型数据库而言,索引是至关重要的概念,请回答有关索引的几个问题:
a)、索引的目的是什么?
b)、索引对数据库系统的负面影响是什么?
负面影响:
建立索引和维护索引须要耗费时间,这个时间随着数据量的增长而增长;索引须要占用物理空间,不光是表须要占用数据空间,每一个索引也须要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护,这样就下降了数据的维护速度。
c)、为数据表创建索引的原则有哪些?
d)、 什么状况下不宜创建索引?
26、 简述在MySQL数据库中MyISAM和InnoDB的区别
区别于其余数据库的最重要的特色就是其插件式的表存储引擎。切记:存储引擎是基于表的,而不是数据库。
InnoDB与MyISAM的区别:
InnoDB存储引擎: 主要面向OLTP(Online Transaction Processing,在线事务处理)方面的应用,是第一个完整支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎,已经中止开发)。
特色:
MyISAM存储引擎: 是MySQL官方提供的存储引擎,主要面向OLAP(Online Analytical Processing,在线分析处理)方面的应用。
特色:
MySQL5.0版本开始,MyISAM默认支持256T的单表数据;
27、 解释MySQL外链接、内链接与自链接的区别
先说什么是交叉链接: 交叉链接又叫笛卡尔积,它是指不使用任何条件,直接将一个表的全部记录和另外一个表中的全部记录一一匹配。
内链接 则是只有条件的交叉链接,根据某个条件筛选出符合条件的记录,不符合条件的记录不会出如今结果集中,即内链接只链接匹配的行。
外链接 其结果集中不只包含符合链接条件的行,并且还会包括左表、右表或两个表中
的全部数据行,这三种状况依次称之为左外链接,右外链接,和全外链接。
左外链接,也称左链接,左表为主表,左表中的全部记录都会出如今结果集中,对于那些在右表中并无匹配的记录,仍然要显示,右边对应的那些字段值以NULL来填充。右外链接,也称右链接,右表为主表,右表中的全部记录都会出如今结果集中。左链接和右链接能够互换,MySQL目前还不支持全外链接。
28、 写出三种以上MySQL数据库存储引擎的名称(提示:不区分大小写)
MyISAM、InnoDB、BDB(BerkeleyDB)、Merge、Memory(Heap)、Example、Federated、
Archive、CSV、Blackhole、MaxDB 等等十几个引擎
29、 什么是面向对象?主要特征是什么?几大原则是什么?
面向对象是程序的一种设计模式,它利于提升程序的重用性,使程序机构更加清晰。 主要特征是:封装、继承、多态。
五大基本原则: 单一职责原则;开放封闭原则;替换原则; 依赖原则; 接口分离原则。
30、什么是静态路由,其特色是什么?什么是动态路由,其特色是什么?
参考答案:
静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场 合,且网络拓朴结构不常常变化的网络。其缺点是不能动态地适用网络情况的变化,当 网络情况变化后必须由网络管理员修改路由表。
动态路由是由路由选择协议而动态构建的,路由协议之间经过交换各自所拥有的路由信 息实时更新路由表的内容。动态路由能够自动学习网络的拓朴结构,并更新路由表。其 缺点是路由广播更新信息将占据大量的网络带宽。
31、使用过 Memcache 缓存吗,若是使用过,可以简单的描述一下它的工做原理吗?
Memcahce 是把全部的数据保存在内存当中,采用 hash 表的方式,每条数据由 key 和 value 组成,每一个 key 是独一无二的,当要访问某个值的时候先按照找到值,而后返回结果。
Memcahce 采用 LRU 算法来逐渐把过时数据清除掉。
32. 列举流行的 Ajax 框架?说明 Ajax 实现原理是什么及 json 在 Ajax 中起什么做用?
流行的 Ajax 框架有 jQuery,Prototype,Dojo,MooTools。
Ajax 的工做原理是一个页面的指定位置能够加载另外一个页面全部的输出内容,这样就实现了一个静态页面也能获取到数据库中的返回数据信息了。因此 Ajax 技术实现了一个静态网页在不刷新整个页面的状况下与服务器通讯,减小了用户等待时间,同时也从而下降了网络流量,加强了客户体验的友好程度。
在使用 Ajax 时,涉及到数据传输,即将数据从服务器返回到客户端,服务器端和客户端分别使用不一样的脚步语言来处理数据,这就须要一种通用的数据格式,XML 和 json 就是最经常使用的两种,而 json 比 XML 更简单。
33、Myql中的事务回滚机制概述
事务是用户定义的一个数据库操做序列,这些操做要么全作要么全不作,是一个不可分割的工做单位,事务回滚是指将该事务已经完成的对数据库的更新操做撤销。
要同时修改数据库中两个不一样表时,若是它们不是一个事务的话,当第一个表修改完,可能第二个表修改过程当中出现了异常而没能修改,此时就只有第二个表依旧是未修改以前的状态,而第一个表已经被修改完毕。而当你把它们设定为一个事务的时候,当第一个表修改完,第二表修改出现异常而没能修改,第一个表和第二个表都要回到未修改的状态,这就是所谓的事务回滚。
……