《欢聚时代2017校招笔试题目(PHP工程师类)---错题解析》
来源:互联网 发布:java开源项目下载 编辑:程序博客网 时间:2024/06/05 20:23
今天在牛客网上做了一套面试题真是伤透心啊!整天都是想着做项目!做项目!做项目!有没有想过连公司门都进不了,谁给你做项目的机会。哎!也不怕丢人了,这张试卷我就得了39分【尴尬】。于是决定将错题逐一解析一下。同时巩固一下基础!废话不多说了,下边是我做错的每一题的详解。(选择题加粗的表示正确答案)
1,以下js中哪个能每隔1.5秒就调用foo函数一次
A setInterval(foo(),1500);
B setTimeout(1500,foo());
C setTimeout(“foo”,1500);
D windows.time(1500,foo);
解析:这个做错纯属审题不仔细,“每隔1.5S”,setTimeout()是一次性的,而setInterval()是不停调用的,直到调用clearInterval()
2,下面哪个选项不是mysql中innodb引擎的特点?
A 支持事务
B 支持行锁
C 支持全文索引
D 支持外键
解析:既然涉及到了Mysql的存储引擎,那就给大家推荐一篇博客,系统的学习一下Mysql中的各种引擎 http://blog.csdn.net/qh_java/article/details/14045827
3,
A false false
B true true
C true false
D false true
解析:首先php中
而empty():当变量存在时,并且非空非0,就会返回false;不存在,也不会产生警告,会返回false
4,$a的值是___
A true
B 1
C false
D null
解析:对于未定义的变量打印出来的就是NULL
5, array(‘a’)+array(‘b’) 的结果是__?
A array(‘a’,’b’)
B array(‘b’,’a’)
C array(‘a’)
D array(‘b’)
解析:这个真是懵逼,不知道为什么,反正运行结果就是array(‘a’)
6, PHP中怎样获取用户上传图片的真实文件类型?__
A getimagesize()
B imagetype()
C $FILES[‘type’]
D exif_imagetype()
**解析:**getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。B,C两个选项中的函数是不存在的,应该是exif_imagetype()和
7,比较两个字符串是否相同,最佳方式是?
A 使用==
B 使用strcmp()
C 使用strcasecmp()
D 使用strpos()
解析:==是比较地址 strcmp():比较字符串内容是否相等 strcasecmp():忽略大小写,比较字符串是否相等 strpos():查找某个字符串在另外一个字符串中首次出现的位置
8,变量
A 没有值
B null
C ‘a’
D ‘’
解析:测试的结果是,会报’key’不存在,然后,后边会输出a
9,假如现在是2010年3月25日9点25分01秒,要使用date()生成“2010325-92501”格式的时间,应该选择以下哪种参数__
A date(‘Ymd-Gis’)
B date(‘Ymd-His’)
C date(‘Ynd-Gis’)
D date(‘Ynd-His’)
解析:这道题我相信好多人跟我一样选了B,m和n的区别就是,n没有前导0,而m有
10,哪个函数可以控制PHP的错误信息是否输出到页面上?
A error_reporting()
B error_log()
C error_trigger()
D error_echo()
**解析:**B. error_log() — 发送错误信息到某个地方
C.写错了,只有trigger_error()— 产生一个用户级别的 error/warning/notice 信息
D.没有这个函数
11,请问以下代码的输出是什么?
<?php/** * Created by PhpStorm. * User: dell * Date: 2017/7/10 * Time: 21:18 *//** * 单例模式: * 应用中某的种需求: * 对于某些类,在使用它的时候,从头到尾(从程序的开始到结束),都只需要一个对象,就可以完成所有的人物 * 单例: * 某个类只允许创建出一个对象,即使去创建多次,也只能得到一个对象(就比如创建一个连接数据库的对象,前前后后只要创建一个就行) *//*class A{}$obj1 = new A();$obj2 = $obj1;//此时还是一个对象,因为$obj2和$obj1指向的是同一个对象$obj3 = new A();*///这个时候才创建出了第二个对象//这样就没法实现单例模式了//实现一个单例类:其只能获得一个对象class B{ private static $instance;//定义成私有,那么它只能在本类中使用。定义成静态就能通过类名来访问了 private function __construct(){}//定义成私有,也就是不让别人在类外new 出对象,这样就只能通过getNew()获取对象 public static function getNew(){ //如果本类中的$instance还没有数据 if(!isset(B::$instance)){ B::$instance = new self; } return B::$instance; } private function __clone() { }}$o1 = B::getNew();$o2 = B::getNew();//我们会发现这创建的还是一个类(资源标识符相同)//var_dump($o1,$o2);//下面我们再看一下一个特殊情况$o3 = clone $o1;//克隆对象(当我把那个__clone()方法定义成私有,这句就会报错)var_dump($o1,$o2,$o3);//这个时候我们会发现$o3是一个新对象了 这个时候又不符合单例了(注意:这个clone算运算符)/* *本来一个类中有一个隐藏的public function __clone()方法,那我们如果想实现单例,我们给它定义成私有就行,不让他在类外使用 */
工厂模式:
<?php/** * Created by PhpStorm. * User: dell * Date: 2017/7/8 * Time: 17:57 *//* * 什么是设计模式? * 所谓设计模式,就是一些解决问题的“常规做法”,是一种认为较好的经验总结。面对不同的问题,可能会有不同的解决办法。此时我们 * 就可以称为不同的设计模式 *//* *工厂模式 * 在实际应用中,我们总是需要去实例化很多很多的类----以得到对象 * 则: * 我们可以设计出来一个工厂(其实就是类),该工厂的作用就是为我们生产各种对象。这种工厂通常只要指定类名,就可以据此获取 * 一个该类的对象 */class factory{ //Instance表示“实例”,也就是指“对象” static function getInstance($className){//将要实例化的类名传递过来 if(file_exists('./'.$className.'.class.php')){ $obj1 = new $className(); return $obj1; }else{ return false; } }}//比如$obj1 = factory::getInstance('A');//获取类A的一个对象$obj2 = factory::getInstance('B');//获取类B的一个对象
21,根据以下题目编写代码(可使用任意你熟悉的编程语言) 每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?
其实是个多简单的题,不要给想复杂了
#include<stdio.h>main(){int m,i=0,k=0,n=0;printf("输入钱:");scanf("%d",&m);while(m>=2){m=m-2;i=i+1;k=k+1;n=n+1;while(i>=2){i=i-2+1;k=k+1;n=n+1;while(k>=4){i=i+1;k=k-4+1;n=n+1;}}}printf("一共喝了%d瓶啤酒,还剩%d元,还剩%d个瓶子,还剩%d个瓶盖",n,m,i,k); }
22,说说你对Mysql索引的理解。
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
普通索引(由关键字KEY或INDEX定义的索引)的唯一任务就是加快对数据的访问速度
普通索引允许被索引的数据列包含重复的值,如果能确定某个数据列将只包含彼此间各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE将它定义为唯一索引
主键是特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字PRIMARY KEY
创建,
索引可以覆盖多个数据列,像INDEX(columnA,columnB)索引,就是联合索引,
索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度,因为在执行这些操作的时候,还要操作索引文件
- 《欢聚时代2017校招笔试题目(PHP工程师类)---错题解析》
- 补《欢聚时代2017校招笔试题目(PHP工程师类)---错题解析》
- 欢聚时代2017校招笔试题目(web前端类)B卷
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--1
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--2
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--3
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--4
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--5
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--6
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--7
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--8
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--9
- 欢聚时代2015校招 一面
- 百度2014校招笔试题目题解
- 欢聚时代2017前端笔试C卷
- 2015年欢聚时代(YY)校园招聘Java笔试题目
- 2015年欢聚时代(YY)校园招聘Java笔试题目
- 算法整理——2017欢聚时代校招编程题
- Weblogic 12c启动安装程序
- angular js 购物车+删除+总价+总数+个数
- [RK3288][Android6.0] 调试笔记 --- 读取GPU当前频率方法
- 240. Search a 2D Matrix II
- java基础——String和StringBuffer的区别
- 《欢聚时代2017校招笔试题目(PHP工程师类)---错题解析》
- 详细教程:在VMware部署虚拟机
- 非静态成员函数的非法调用
- 【linux学习】常用linux基础指令1
- mysql-1055错误
- +(void)load; +(void)initialize;有什么用处?
- 手机号验证的正则表达式
- 数据类型本质分析
- 双目标定中两相机共焦距设计与实现