面试参考题
文章平均质量分 63
小洪帽i
这个作者很懒,什么都没留下…
展开
-
PHP 项目前后端分离报错跨域问题
后端使用PHP,前端使用vue框架,加了跨域方法,却还是一直报跨域问题代码:$server = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '*';header('Vary: Origin,Access-Control-Request-Headers,Access-Control-Allow-Headers,DNT,X-Requested-With,X-Mx-ReqToken,Keep-Alive,User-Agen原创 2021-12-22 14:22:10 · 481 阅读 · 0 评论 -
PHP魔术常量详解
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:__LINE__显示文件中的当前行号。实例:<?php echo '这是第 " ' . __LINE__ . ' " 行';?>以上原创 2021-09-24 17:52:27 · 85 阅读 · 0 评论 -
PHP 魔术方法详解
__construct() 构造函数php中构造方法是对象创建完成后第一个被对象自动调用的方法。在每个类中都有一个构造方法,如果没有显示地声明它,那么类中都会默认存在一个没有参数且内容为空的构造方法。1.构造方法的作用:通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。2.构造方法的在类中的声明格式:function __constrct([参数列表]){ 方法体 //通常用来对成员属性进行初始化赋值}3.在类中声明构造方法需原创 2021-09-24 16:18:22 · 648 阅读 · 0 评论 -
PHP 的常用算法
冒泡排序法冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越来越小的元素会经由交换慢慢"浮"到数列的顶端。步骤:①:比较相邻的元素。如果第一个比第二个大,就交换他们两个。②:对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。③:针对所有的元素重复以上的步骤,除了最右一个。原创 2021-09-24 09:59:16 · 206 阅读 · 0 评论 -
PHP 2021面试题,一般所遇到的问题与答案,多达51题(持续更新)
GET 与 POST 的区别** 显示有区别 **get方法是将字符串拼接在地址栏后面可以看见而post方法看不见** 传递的大小有区别 **具体大小和浏览器有关系,ie浏览器是2k其他浏览器的最大值可能不同,但是也比较小。而post方法传递参数的大小是可以设定的,原来是认为无限大。在Php当中在php.ini文件是可以设置参数的大小的。** 安全性 **get方法安全性比较低因为暴露在外面而post方法安全性比较高** 提交的原理 **get方法提交的数据都是独立的。而Po.原创 2021-09-18 18:52:51 · 2446 阅读 · 0 评论 -
Laravel框架路由讲解与中间件的使用
路由文件:/routes/web.php<?phpuse Illuminate\Support\Facades\Route;/*|--------------------------------------------------------------------------| Web Routes|--------------------------------------------------------------------------|| Here is where.原创 2021-08-17 11:13:34 · 373 阅读 · 0 评论 -
mysql 数据库设计-不推荐存储的数据类型
不推荐存储的数据类型二进制多媒体数据,将二进制多媒体数据存放在数据库中,一个问题是数据库空间资源耗用非常严重,另一个问题是这些数据的存储很消耗数据库主机的CPU资源。这种数据主要包括图片、音频、视频和其他一些相关的二进制文件。这些数据的处理本不是数据的优势,如果我们硬要将他们塞入数据库,肯定会造成数据库的处理资源消耗严重。流水队列数据,数据库为了保证事务的安全性(支持事务的存储引擎)以及可恢复性,都是需要记录所有变更的日志信息的。而流水队列数据的用途就决定了存放这种数据的表中的数据会不断的被 I原创 2021-07-31 15:01:25 · 450 阅读 · 0 评论 -
mysql 数据库设计-数据库表字段类型分析
一、字符串类型char 和 varchar 都是用来存储字符串类型的数据,但是他们保存和检索的方式不一样,char 属于固定长度的字符类型,varchar 属于可变长的字符类型。gbk 一个字符 ,两个字节例如:值char(4)字节varchar(4)字节‘’‘’8个字节’‘1个字节‘ab’‘ab’8个字节‘ab’5个字节‘abcd’‘abcd’8个字节‘abcd’9个字节‘abcdefg’‘abcd’8个字节‘abcd’原创 2021-07-31 12:11:30 · 758 阅读 · 0 评论 -
mysql 数据库设计-数据库设计三大范式
在设计关系数据库的时候,一般来说我们都是需要遵从不同的规范要求来设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。范式分为:三大范式,以及BC范式,第四范式还有第五范式,一共六大范式;通常来说满足与三大范式就基本足够。注意:项目的数据库设计并不一定要完全满足于三大范式,有些时候我们会适量的冗余让 Query 尽量减少 Join 。误区:不是范式越高就越好 好=>结构清晰早期:希望数据可以足够的小,数原创 2021-07-30 21:28:11 · 225 阅读 · 0 评论 -
mysql Join查询与优化思路详解
MySQL Query 的优化—Join的实现原理及优化思路: https://blog.csdn.net/qq_39408664/article/details/119205778Join的实现原理与优化思路看上面链接,下面讲解其他内容Nested-Loop Join 算法解释官网Join算法: https://www.docs4dev.com/docs/zh/mysql/5.7/reference/nested-loop-joins.htmlSimple Nested-Loop Join原创 2021-07-29 18:32:16 · 931 阅读 · 0 评论 -
mysql Query 的优化—Join的实现原理及优化思路
Join 的实现原理在寻找 Join 语句的优化思路之前,我们首先要理解 MySQL 中是如何来实现 Join 的,只要理解了实现原理之后,优化就比较简单了。在 MySQL 中,只有一种 Join 算法,减少大名鼎鼎的 Nested Loop Join , Nested Loop Join 实际上就是通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表中查询数据,然后合并结果。如果还有第三个参与 Join ,则通过前两个表的 Join 结果集作为循环基础数据,再一转载 2021-07-29 11:38:45 · 689 阅读 · 0 评论 -
mysql 秒杀或促销商品超卖问题
秒杀或者活动商品的超卖问题是在商城项目都会存在的一个问题,这个问题也是属于高并发场景下产生的问题之一,主要是因为并发过大,导致商品出售超出库存。MySQL 排它锁<?phptry{ $pdo=new pdo("mysql:host=localhost;dbname=mysql_php","root","root",array(PDO::ATTR_AUTOCOMMIT=>0));//最后是关闭自动提交 $pdo->setAttribute(PDO::ATTR_ERRMODE,原创 2021-07-28 22:59:07 · 248 阅读 · 0 评论 -
mysql 大数据量统计重复问题
上亿条数据(有重复),统计其中出现次数最多的前N个数。以上类型题目其本质其实是属于统计类型的业务,比如:统计目前商品表中各个分类的商品数量,并排出前十的分类以及分类商品数量。对于这种业务我们有多种不同的方案,一下的方案解释:该类型的案例:统计目前商品表中各个分类的商品数量,并排出前十的分类以及分类商品数量。设计SQL语句以及表此时数据量:select count(*) as count,category_id from products group by category_id order by原创 2021-07-28 22:33:05 · 1110 阅读 · 0 评论