1、include 和 require 的区别
(1)require 相对 include 的效率会更高
(2)引用的文件不存在时,require会报致命错误,结束程序运行,而include则只会报warning
(3)在同一php文件中解释过一次后,不会再解释第二次。而include却会重复的解释包含的文件。所以当php网页中使用循环或条件语句引入文件时,"require"则不会做任何的改变,当出现这种情况,必须使用"include"命令来引入文件。
2、http请求中会包含什么内容
(1)客户端信息
(2)URL
(3)协议版本
(4)MIME 信息包括请求修饰符
(5)请求内容
3、redis怎么实现锁
利用SETNX非常简单地实现分布式锁。例如:某客户端要获得一个名字foo的锁,客户端使用下面的命令进行获取:
SETNX lock.foo <current Unix time + lock timeout + 1>
如返回1,则该客户端获得锁,把lock.foo的键值设置为时间值表示该键已被锁定,该客户端最后可以通过DEL lock.foo来释放该锁。
如返回0,表明该锁已被其他客户端取得,这时我们可以先返回或进行重试等对方完成或等待锁超时。
4、mq中如何避免重复消费
问题1:消息重复消费
描述:用户在页面停止查询时,会导致消费者进程被杀死,因此ACK状态码未反馈至MQ,从而消息一直存留在MQ中,当新的消费者启动时会重新消费;
解决方案:消费者每次执行查询前,首先在DB上查询任务的执行状态,若处于「取消/失败/成功」则表示已经由其它消费者消费过,那么直接返回ACK状态码给MQ,将消息从MQ中移除;
5、get和post请求长度区别
get:
Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
通过上面的数据可知,为了让所有的用户都能正常浏览, URL最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,这时的长度就只受Web服务器影响了。
注:对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。
因此如果使用的 GET 方法,最大长度等于URL最大长度减去实际路径中的字符数。
post:
理论上讲,POST是没有大小限制的。HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。
如:在Tomcat下取消POST大小的限制(nginx默认8M);
6、session 和 cookie 有什么区别,如何共享session
共享session可以通过把session存在redis 或者memacache 中,读取session时从缓存读取。
7、json和jsonp的区别
json是数据格式,jsonp是jsonp,即 json padding,一种非官方跨域数据交互协议,原理就是利用 <script> 标签没有跨域限制来达到与第三方通讯的目的。
8、mysql如何优化
优化mysql
优化sql:
9、简单描述快排,快排的时间复杂度
最慢n^2 最快nlogn 平均nlogn
10、常见的负载均衡模式,名字
a. Round Robin: 对所有的backend轮训发送请求,算是最简单的方式了,也是默认的分配方式;
b. Least Connections(least_conn): 跟踪和backend当前的活跃连接数目,最少的连接数目说明这个backend负载最轻,将请求分配给他,这种方式会考虑到配置中给每个upstream分配的weight权重信息;
c. Least Time(least_time): 请求会分配给响应最快和活跃连接数最少的backend;
d. IP Hash(ip_hash): 对请求来源IP地址计算hash值,IPv4会考虑前3个octet,IPv6会考虑所有的地址位,然后根据得到的hash值通过某种映射分配到backend;
e. Generic Hash(hash): 以用户自定义资源(比如URL)的方式计算hash值完成分配,其可选consistent关键字支持一致性hash特性;
11、印象最深的项目,以及遇到的困难
12、打开tcp关闭tcp分别需要几次挥手
三次握手,两次挥手
13、join 和in 优先用哪个
优先join 特殊情况用in
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
程序员编程交流QQ群:805358732
如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!