PHP工程师笔试题

提示:请将答案写在另外一张空白纸上,并在30分钟内完成。

PHP

  1. 请写出include、require、include_once、require_noce的区别。

include是包含,如果程序执行到这行没有找到文件会警告.但继续执行.include_once和include是一样的  只是如果包含的文件已经存在就不再包含.require是引用资源.如果资源文件没有找到.程序会致命错误并且终止执行.require_once的意思和require是一样的,只是会检验文件是否 已经被包含.

  1. 请写出isset()和empty()的区别。

isset(),检测变量是否设置

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”"、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

empty(),检查一个变量是否为空

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”?”)并不等同于 PHP 的 NULL 常数。 警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined()函数。

  1. 请写出验证邮箱是否合法的正则表达式。

/\w+((-w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+/

MySQL

  1. 请写出MyISAM和InnoDB有什么区别,并说明在什么场景下使用MyISAM或InnoDB?

名称               MyISAM                     InnoDB

-------------------------------------------------------------------------

事务               不支持                                 支持

数据行锁定         不支持,只有表锁定         支持

外键约束           不支持                                 支持

表空间大小         相对小                                相对大,最大是2倍

全文索引           支持                                    不支持

GIS数据            支持                                    不支持

COUNT问题         无                                        执行COUNT(*)查询时,速度慢

Innodb的引擎比较适合于插入和更新操作比较多的应用,而myisam则适合用于频繁查询的应用.

  1. 请写出这个会员数据表的结构(列名、类型、长度、属性),会员的资料有用户名、密码、邮箱、姓名、性别、固定电话、QQ和地址,会员可以使用邮箱和用户名登录。

列名         类型         长度         属性

------------------------------------------------------------------

username   varchar(50)                   PK

pwd          char(32)

email         varchar(255)

name         varchar(50)

sex      enum('0','1','2')

tel              varchar(50)

qq             varchar(16)

address           varchar(255)

  1. 请写出您所知道的MySQL优化法则。

1.为查询缓存优化你的查询,避免在语句中使用CURDATE() ,NOW(),RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存。

2.使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。

3.当只要一行数据时使用 LIMIT 1

4.为搜索字段建索引

5.在Join表的时候使用相当类型的例,并将其索引

6.千万不要 ORDER BY RAND()

7.避免 SELECT *

8.永远为每张表设置一个ID,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的AUTO_INCREMENT标志。

9.使用 ENUM 而不是 VARCHAR

10.尽可能的使用 NOT NULL

11.把IP地址存成 UNSIGNED INT

12.固定长度的表会更快

13.拆分大的 DELETE 或 INSERT 语句

14.越小的列会越快

15.选择正确的存储引擎

 

jQuery

  1. 请写出jQuery对多个复选框(checkbox)进行全选、反选和取消的代码。

$("#div1 :checkbox").attr("checked", true);

$("#div1 :checkbox").attr("checked", false);

$("#div1 :checkbox").each(function () {

  $(this).attr("checked",!$(this).attr("checked"));

});

  1. 请写出jQuery的ajax请求例子,要标明各个参数的含义以及ajax数据传输的时候有几种数据格式。

1、jQuery.ajax(options)

2、load(url,data,callback)

3、jQuery.get(url,data,callback,type)

4、jQuery.getJSON(url,data,callback)

5、jQuery.post(url,data,callback,type)

6、jQuery.getScript(url,[callback])

如何分酒?

  1. 一个人晚上出去打了10斤酒,回家的路上碰到了一个朋友,恰巧这个朋友也是去打酒的。不过,酒家已经没有多余的酒了,且此时天色已晚,别的酒家也都已经打烊了,朋友看起来十分着急。于是,这个人便决定将自己的酒分给他一半,可是朋友手中只有一个7斤和3斤的酒桶,两人又都没有带称,如何才能将酒平均分开呢?

1.先把3斤的桶装满,把三斤酒倒入7斤的桶中,到2次。这样7斤的桶中就有了6斤的酒.

2.再把3斤的桶装满,再用装满的三斤酒把7斤的桶装满,这样3斤桶中就剩下了2斤酒

3.把7斤桶中的酒全部倒入10斤的桶中;把3斤桶中的2斤酒倒入7斤的桶中,再把三斤桶装满。

这样他的朋友就有了3斤+2斤 正好5斤酒。

/*一个人晚上出去打了10斤酒,回家的路上碰到了一个朋友,恰巧
这个朋友也是去打酒的。不过,酒家已经没有多余的酒了,且此时
天色已晚,别的酒家也都已经打烊了,朋友看起来十分着急。于是
,这个人便决定将自己的酒分给他一半,可是朋友手中只有一个7斤
和3斤的酒桶,两人又都没有带称,如何才能将酒平均分开呢?*/

/*--------------------------------------------
    by ************** waterstar
    time ************ 1.18
*/

#include<stdio.h>
void main()
{

int m=10;
    int a,b,c;
    a=m;b=0;c=0;
    while(a!=5)            //没分出就继续
    {
        if(b==7)           //如果b满了,就倒回a中
        {
            a=a+b;
            b=c;
            c=0;
        }            
        c=3;         
        a=m-c-b;     
        if(c+b>7)         //c不能全部倒入b中
        {
            c=b+c-7; 
            b=7;
        }
        else
        {
            b=b+c;
            c=0;
        }            
    }
    printf("十斤酒剩下:%d斤\n",a);
    printf("七斤的酒桶里有:%d斤\n",b);
    printf("三斤的酒桶里有:%d斤\n",c);
}

赔了多少钱?

10.
一天,小赵的店里来了一位顾客,挑了20元的货,顾客拿出50元,小赵没零钱找不开,就到隔壁小韩的店里把这50元换成零钱,回来给顾客找了30元零钱。过一会,小韩来找小赵,说刚才的是假钱,小赵马上给小李换了张真钱。

问:在这一过程中小赵赔了多少钱?

80

PHP工程师笔试题的更多相关文章

  1. 转:一份基础的嵌入式Linux工程师笔试题

    一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...

  2. iOS开发工程师笔试题

    iOS开发工程师笔试题 1.   Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以 ...

  3. Java工程师笔试题整理[校招篇]

    Java工程师笔试题整理[校招篇]     隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打 ...

  4. 复盘鼎甲科技2020web开发工程师-笔试题(校招)

    复盘鼎甲科技2020web开发工程师-笔试题(校招) 本试卷以W3C规范为准,JavaScript使用ES5标准,除特别说明外,不考虑各个浏览器之间差异. 一.多项选择题 以下标签是行内元素(inli ...

  5. 阿里巴巴集团2016校园招聘-Python工程师笔试题(附加题+部分答案)

    前言 第一次网上笔试,被虐的很惨.一是不太习惯,最主要的是还是自己对Python的掌握,还不够熟练.下面是这次阿里笔试相关信息 笔试时间是,2015年8月23日,10:00——12:00 对于笔试题, ...

  6. c#软件工程师笔试题

    近来有打算重新找工作,还没提离职,投了几家公司简历,其中一家比较中意的公司给发了面试题,其实,好像是好几天前的事了,主要是Gmail邮箱很少用,所以一直都没去看,今天看到题目给解了. 题目如下: 题目 ...

  7. 2015-01-19 .Net 软件工程师 笔试题

    填空题 1.String是__类型(值类型或引用类型) 2.int的基类是__ 3.实现__的类,可以应用foreach语句 4.要输出一段XML文档,用__类来实现能够确保输出正确格式的XML,输出 ...

  8. 2015-01-16 .Net 中级软件工程师 笔试题

    一 C#方面 1.请简述多线程需要考虑的主要因素 答:1.线程管理 同一核上的两个线程不会以两倍的时长完成,可能需要用两倍再加10 %左右的时间来完成.与一个线程相比较的话,三个线程在同一核上想占用1 ...

  9. 2015校招网易C/C++工程师笔试题(附答案)

    1. #include < filename.h >和#i nclude “filename.h” 有什么区别?   答:对于#i nclude < filename.h >, ...

随机推荐

  1. Argument 1 passed to Illuminate\Auth\SessionGuard::login() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\User given,

    使用laravel内置的注册认证系统,注册账号,提示如下错误.Google之后,发现github的一个答案,解决了.分享一下 Argument 1 passed to Illuminate\Auth\ ...

  2. Flyweight模式_Java中23种设计模式

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 享元模式: Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用 ...

  3. windows下解决PyCharm控制台中文输出乱码

    我用的PyCharm是2018.2版本 在调用os.system()的过程中遇到了控制台中文乱码的问题,具体如下 网上说的将两个Encoding格式都设置为UTF-8并没有解决问题,后来我将Proje ...

  4. 百度 Echart 的使用

    百度 Echarts 的使用 一.Echarts 简介 官方网站:http://echarts.baidu.com/ 下载地址:http://echarts.baidu.com/download.ht ...

  5. 国外IOS UI指南

    国外IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻译) ...

  6. Ubuntu Java7 SDK环境变量配置(转)

    1.去甲骨文官网下载java7 sdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里笔者下载了最新的jav ...

  7. C#如何直接调用非托管代码

    C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数. 2.  调用 COM 对象上的接口方法 我主要讨论从dll中导出函数,基本步骤如下: 1.使用 C# 关键字 s ...

  8. Code Fragment-UI加载策略之-可视者优先加载

    通常情况 通常程序的UI不太复杂,我们会直接加载这些UI信息 复杂的UI 加载的元素就相对多一些. 加载的数据相对多. 因为UI元素和数据元素都比较多,加载的时间相对多. 可视者优先加载 不是默认的加 ...

  9. DTrace memory leak 内存泄露

    http://blog.sina.com.cn/s/blog_538040b70100eecn.html   如下程序用于跟踪,在分配和回收都会触发探针 #!/usr/sbin/dtrace -s p ...

  10. C#写的COM组件注册问题兼论微软Regasm注册的BUG

    工作中自己用C#写了专门读写EXCEL(不需要OFFICE环境,直接读原始文件,速度快)的COM组件,在使用过程中,发现原先的注册程序是有问题的.网上也有同样的网友碰到这个问题,但都没找到合适的解决办 ...