1.若是系统作了负载均衡(或者代理),服务端如何准确得获取用户端的IP?php
答:在负载均衡服务器软件
(nginx,apache,tomcat)添加X-Forwarded-For,简称XFF头,它表明客户端,也就是HTTP的请求端真实的IP,只有在经过了HTTP 代理或者负载均衡服务器时才会添加该项。它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中能够找到该项的详细介绍。html
相关网站:https://blog.csdn.net/ai_zxc/article/details/78891019前端
2.如何实现精准的定时任务?mysql
答:在Crontab中使用PHP执行脚本(或URL),其实方法不少,不过这个应该是比较好的。nginx
相关网站:https://www.jb51.net/article/89186.htmgit
3.mysql中,如何判断一个字段是否建立索引?github
答:show index from 数据库名.表名web
4.mysql中,如何判断一个字段是否须要建立索引?redis
答:较频繁地做为查询条件的字段sql
相关网站:https://www.jb51.net/article/56532.htm
5.常见的web漏洞,并说明出现的缘由和解决方案?
答:SQL注入漏洞、XSS、CSRF、上传漏洞、未加密登陆请求 等等
相关网站:https://blog.csdn.net/qq_28061489/article/details/79572310,https://wenku.baidu.com/view/dbb0991afbd6195f312b3169a45177232f60e41c.html,https://blog.csdn.net/u013777676/article/details/52124298/
6.php中namespace的做用?
答:解决用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。为很长的标识符名称(一般是为了缓解第一类问题而定义的)建立一个别名(或简短)的名称,提升源代码的可读性。
相关网站:官网:http://php.net/manual/zh/language.namespaces.rationale.php,https://www.cnblogs.com/kuyuecs/p/3556421.html
7.列出redis支持的数据类型?
答:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
相关网站:http://www.runoob.com/redis/redis-data-types.html
8.列出php中类的自动加载相关的函数名?
答: __autoload() 和 spl_autoload_register()
相关网站:官网:http://php.net/manual/zh/language.oop5.autoload.php
9.统计一个字符串在另外一个字符串出现的次数?
答:
substr_count($haystack, $needle [,$offset [,$length]])
其中参数:
$haystack表示母字符串,$needl表示要查找的字符
$offset表示查找的起点,$length表示查找的长度,均为可选参数
相关网站:https://www.jb51.net/article/58015.htm
10.列出HTTP状态码,并简述意思,重小到大
答:1xx 消息;2xx 成功;3xx 重定向;4xx 请求错误;5xx服务器错误;(要注意下499,nginx的错误,多是时间超时,内存溢出)
相关网站:http://www.runoob.com/http/http-status-codes.html,https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
11.若是后端有多台服务器,如何处理session?
答:
第一种办法:把原来存储在服务器磁盘上的session数据存储到客户端的cookie中去(加密后后存在cookie中,前端不开cookie就悲剧了)。
第二种办法:同一个用户的访问请求都被派送到同一个服务器上(某台机子挂掉了,就不行了)。
第三种办法:作一个中间层,专门来存储全部访问涉及到的session。也就是全部的session都存储在这里。服务器端统一从这里读取session数据。(能够保存在共享的文件服务器中、数据库中(nosql为好))
相关网站:https://www.cnblogs.com/wangtao_20/archive/2013/10/29/3395518.html
12.git的经常使用命令?
答:
git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
git checkout -b dev 创建一个新的本地分支dev
git branch 查看本地全部分支
git status 查看当前状态
git pull 拉取
git commit 提交
git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。
git log 看你commit的日志
git add . 添加全部修改文件
git commit -m ‘修改内容’ 提交添加文件,并备注提交版本
git diff 查看修改文件列表
相关网站:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html,https://blog.csdn.net/halaoda/article/details/78661334
13.用php代码去除HTML标签方法?
答:strtr()和strip_tags()
14.php的运行方式有哪些?
答:
1)CGI(通用网关接口/ Common Gateway Interface)。
2)FastCGI(常驻型CGI / Long-Live CGI)。
3)CLI(命令行运行 / Command Line Interface)。
4)Web模块模式(Apache、nginx、iis等Web服务器运行的模式) ,最经常使用的运行方式啦。
5)ISAPI(Internet Server Application Program Interface)微软提供的一套面向Internet服务的API接口。
相关网站:https://blog.csdn.net/xujingzhong0077/article/details/53316767,https://blog.csdn.net/s465564/article/details/77224627
15.php链接数据库的方式?
答:1)经常使用普通方法,mysql_connect()【 PHP 5.5.0 起已废弃】;2)面向对象方法(也可面向过程)mysqli();3)PDO;3)ADODB
参考网站:https://blog.csdn.net/wd2011063437/article/details/79003477,https://www.cnblogs.com/joshua317/articles/5989781.html
16.简述MySQL的InnoDB的四种事务隔离级别?
答:
一、读不提交(Read Uncommited,RU)
这种隔离级别下,事务间彻底不隔离,会产生脏读,能够读取未提交的记录,实际状况下不会使用。
二、读提交(Read commited,RC)
本事务读取到的是最新的数据(其余事务提交后的)。问题是,在同一个事务里,先后两次相同的SELECT会读到不一样的结果(不重复读)
三、可重复读(Repeatable Read,RR)【MySQL 默认的级别】
在同一个事务里,SELECT的结果是事务开始时时间点的状态,所以,同一个事务一样的SELECT操做读到的结果会是一致的。可是,会有幻读现象
四、 串行化(SERIALIZABLE)。读操做会隐式获取共享锁,能够保证不一样事务间的互斥
参考网站:https://www.cnblogs.com/huanongying/p/7021555.html
17.如何参看当前的mysql的事务隔离级别?
答:mysql> show variables like '%isolation%';
18.oop是什么?特色有哪些?
答:oop是面向对象编程。封装、多态、继承、易维护 。
19.接口安全方面是怎么处理的?
答:RSA双向加密,验证参数后才执行。添加时间戳,处理的时候判断时间,通常60秒,前端的请求加上时间戳,后台将时间戳解密后与后台的服务器做比较,时间差距超过60秒就不处理。
20.接口和抽象类的区别是什么?
答:
接口:是经过关键字 interface 来声明的,接口中的成员常量和方法都是 public 的,方法能够不写关键字public,接口中的方法也是没有方法体。接口中的方法也天生就是要被子类实现的。
抽象类:是经过关键字abstract来声明的,是一种不能被实例化的类,只能做为其余类的父类来使用。抽象类与普通类类似,都包含成员变量和成员方法,二者的区别在于,抽象类中至少要包含一个抽象方法,抽象方法没有方法体,该方法天生就是要被子类重写的。
区别:抽象类和接口实现的功能十分类似,在应用中选择抽象类仍是接口要看具体实现。
1).对接口的继承使用implements,抽象类使用extends.
2).接口中不能够声明变量,但能够声明类常量.抽象类中能够声明各类变量
3).接口没有构造函数,抽象类能够有
4).接口中的方法默认为public,抽象类中的方法能够用public,protected,private修饰
5).一个类能够继承多个接口,但只能继承一个抽象类
参考网站:https://www.cnblogs.com/catcrazy/p/6289446.html
21.tcp/ip是什么?
答:TCP(传输控制协议)和IP(网际协议),是两个协议,可是一般会合在一块儿说,由于他们要在一块儿才能造成现有的或联网底层。
22.udp是什么?
答:UDP协议全称是用户数据报协议,在网络中它与TCP协议同样用于处理数据包,是一种无链接的协议。