php中级面试题汇总
1、MySQL 索引设计原则:
(1)对于经常查询的字段,建议创建索引。
(2)索引不是越多越好,一个表如果有大量索引,不仅占用磁盘空间,而且会影响INSERT,DELETE,UPDATE等语句的性能。
(3)避免对经常更新的表进行过多的索引,因为当表中数据更改的同时,索引也会进行调整和更新,十分消耗系统资源。
(4)数据量小的表建议不要创建索引,数据量小时索引不仅起不到明显的优化效果,对于索引结构的维护反而消耗系统资源。
(5)不要在区分度低的字段建立索引。比如性别字段,只有 “男” 和 “女” ,建索引完全起不到优化效果。
(6)当唯一性是某字段本身的特征时,指定唯一索引能提高查询速度。
(7)在频繁进行跑排列分组(即进行 group by 或 order by操作)的列上建立索引,如果待排序有多个,可以在这些列上建立组合索引。
2、一次完整的HTTP请求所经历的步骤
1.对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址
2.根据这个IP,找到对应的服务器,发起TCP的三次握手
3.建立TCP连接后发起HTTP请求
4.服务器响应HTTP请求,浏览器得到html代码
5.浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源)
6.浏览器对页面进行渲染呈现给用户
3、数据结构
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。
常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表(哈希表)
参考地址:https://blog.csdn.net/yeyazhishang/article/details/82353846
4、服务注册与发现
参考:https://blog.csdn.net/u011537073/article/details/69663858
5、HTTP协议钟状态码含义
201 已创建 | 301 永久移动 | 400 错误请求 | 500 服务器内部错误 |
202 已接受 | 302 临时移动 | 401 未授权 | 501 不支持的请求 |
203 非授权信息 | 303 查看其它地址 | 403 禁止 | 502 错误网关 |
204 无内容 | 304未修改 | 404未找到 | 503服务器不可用 |
205 重置类容 | 305 使用代理 | 405 方法禁用 | 504 网关超时 |
206 部分处理 | 306临时重定向 | 406 不接受 | 505 HTTP不支持 |
6、php排序算法
参考:https://www.cnblogs.com/aiweixiao/p/8202360.html
7、二分法查找
方法一:
// 递归调用实现二分法查找
//$search 函数 $array为数组,$K为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
//intval返回整数值*/function search($array,$k,$low=0,$high=0){//判断数组元素的数量if(count($array)!=0 and $high==0){ //判断是否为第一次调用//数组的元素个数$high = count($array);}if($low <= $high){ //如果还存在剩余的数组元素$mid = intval(($low+$high)/2); //取$low 与$high的中间值if($array[$mid] == $k){return $mid; //如果找到则返回}elseif($k < $array[$mid]){//如果上面没有找到,则继续查找return search($array,$k,$low,$mid-1);}else{return search($array,$k,$mid+1,$high);}}return "没有要查找的值";
}
$array = array(3,4,5,7,8,9,10);
echo search($array,4);
方法二:
/*//while循环实现二分法查找
*/
$arr = array(2,4,5,6,7,8,9,10);
$low = 0; //要查找范围的最小键值
$search = 6;
//计算出数组的长度
$high = count($arr)-1;
while($low <= $high){//取得数组的中间键值$mid = intval(($low+$high)/2);if($arr[$mid]==$search){//如果取出中间的下标值跟你要搜索的值相等的话,直接去除值得下标就行echo "你要查找的值在数组内的下标为".$mid; break;}elseif($arr[$mid] > $search){$high = $mid -1;}else{$high = $mid+1;}
}
8、php钟self合static的区别
关键字“self”的工作原理是:它会调用当前类(current class)的方法。因为model方法只在class Car中定义的,所以对它来说当前类就是class Car。model中的self::getModel(),调用的自然也就是class Car中的getModel方法。
在PHP5.3中,加入了一个新的特性,叫做延迟静态绑定。它可以帮我们实现多态,解决上面的问题。简单来说,延迟静态绑定意味着,当我们用static关键字调用一个继承方法时,它将在运行时绑定调用类(calling class)。在上面的例子中,如果我们使用延迟静态绑定(static),意味当我们调用“Mercedes::model();”时,class Mercedes中的getModel方法将会被调用。因为Mercedes是我们的调用类。
参考:https://blog.csdn.net/qmhball/article/details/77369457
php中级面试题汇总相关推荐
- java中级程序员面试题_中级Java程序员常见面试题汇总
下面是一些中级Java程序员常见面试题汇总,你可以用它来好好准备面试. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...
- 简述isodata算法的原理_算法常见面试题汇总(一):概率论与数理统计部分
初级或中级算法岗面试题主要有四类:数理统计基础.机器学习模型原理.编程能力.项目经验.项目经验因人而异,所以仅总结前三个方面的基础知识,分享给朋友.(高级或资深算法岗面试内容不在本文范围内) 1.大数 ...
- 工业产品类计算机绘图师,全国计算机绘图师考试试题汇总.pdf
全国计算机绘图师考试试题汇总 国家职业技能鉴定统一考试 中级制图员<计算机绘图>测试试卷 B 1.考试要求( 10 分) (1)设置 A3 图幅,用粗实线画出边框( 400×277),按尺 ...
- 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!
2020最新软件测试面试题汇总[内附参考答案] 测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通 ...
- 农行笔试题目计算机专业,农行计算机专业考试试题汇总.doc
农行计算机专业考试试题汇总 中级 一.填空计算机的网络拓扑结构有总线型(树型)和__星型_____.__环型__.计算机的发展史上,最开始为运算器为中心.现代计算机是以__存储器__为中心的硬件结构. ...
- 2021年电工(中级)最新解析及电工(中级)试题及解析
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:电工(中级)最新解析参考答案及电工(中级)考试试题解析是安全生产模拟考试一点通题库老师及电工(中级)操作证已考过的学员汇总,相对有 ...
- 2021年西式面点师(中级)试题及答案及西式面点师(中级)考试试题
题库来源:安全生产模拟考试一点通公众号小程序 2021年西式面点师(中级)试题及答案及西式面点师(中级)考试试题,包含西式面点师(中级)试题及答案答案和解析及西式面点师(中级)考试试题练习.由安全生产 ...
- 2021年机修钳工(中级)考试总结及机修钳工(中级)试题及答案
题库来源:安全生产模拟考试一点通公众号小程序 2021年机修钳工(中级)考试总结及机修钳工(中级)试题及答案,包含机修钳工(中级)考试总结答案和解析及机修钳工(中级)试题及答案练习.由安全生产模拟考试 ...
- 2020最新软件测试面试题汇总【内附参考答案】,拼多多面试官看了都说,卧槽!!!
2020最新软件测试面试题汇总[内附参考答案] 测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通 ...
最新文章
- 在不是Thread类的子类中,如何获取线程对象的名称呢?
- Hadoop学习之HDFS架构(一)
- Linux系统调用--getrusage函数详解
- SAP Marketing Cloud的双重登录认证
- 谷歌guava_使用Google Guava进行馆藏创建和不变性
- html HTML1300 进行了导航,jquery根据文章H标签自动生成导航目录
- java 解析 csv_在Java中将数据从CSV解析到数组
- HDU 1879 继续畅通工程 最小生成树
- Python GUI设计 PythonWx
- 贵大计算机考研情侣,贵大计算机研究生怎么样?
- 基于JDBC的数据库连接池高效管理策略
- 【雷达通信】基于matlab多普勒连续波测速【含Matlab源码 642期】
- android是j2me的一个实现吗,J2me和安卓有什么区别
- HexoNext添加网易云音乐
- 【数据结构】栈和队列的异同
- 广发银行薪资待遇JAVA_广发银行薪资待遇如何?
- 大数据高频面试题之Hive的分区及其优势
- JAVA我的世界怎么做成就_Editing 成就/Java版
- windows通知栏中显示 微信等应用软件 的通知
- C++11使用emplace_back代替push_back