php常见面试题

最近面试了近10家公司,在加上之前实习时的面试经历,大兄弟我从中总结出一些面试题,对于工作经验两年以下的开发者们如果基本上都能答出来,那么被录用是没有什么悬念的了。面试题只是证明你实力的一部分,最重要的还是工作经验!不过一般的公司一上来都会先给你做一份面试题,如果面试题做不好的话那么就会很难愉快的和面试官聊天了(手动滑稽),希望会对大家有帮助。已给出部分参考答案呦。

1、  字符串与数组相互转化的方法

字符串 –> 数组:explode() 

数组 –>字符串:implode()    

2、  字符串的相关方法

截取:substr()

乱码截取处理:mb_substr()

反转:strrev()

查找字符出现位置:strpos()

查找字符出现次数:substr_count()

3、  数组相关方法

去重:array_unique()

合并:array_merge()

追加元素:array_push()$array[]=?

删减元素:array_splice()

顺序的反转:array_reverse()

键与值的反转:array_flip()

输出下标:array_keys()

4、  数据库

常用的数据库引擎和区别:

MyISAM和InnoDB;区别:MyISAM不支持事务,mysql默认引擎,高速存储和检索。

建表和联表查询:一般会给出两个表格让你写出创建和查询的sql语句

优化方案:避免使用null字段;合理使用索引;使用缓存技术。

5、  日期和时间

输出前一天:echo date(‘Y-m-d H:i:s’,strtotime(‘-1 days’));

6、  Session和cookies的区别,如何设置两者的生存时间?

Setcookie()

7、  用哪些开发工具,用过什么调试工具?

8、  设置编码和重定向

9、  缓存技术

10、             传值和引用的区别,什么时候用传值,什么时候用引用?

11、             框架

会用什么框架?

关于你熟悉的框架的问题:如,thinkphp框架中M()和D()方法的区别

学习一个新框架需要多久?

12、             算法

冒泡排序,快速排序,二叉树(满二叉树和完全二叉树的区别)

13、             项目

一个项目周期要多久?

能否独立完成?

某个项目的某个功能是怎么实现的?

如何保证数据的安全性?

是否用过版本控制工具如svn和git?

14、             特殊题

(1)      用php代码输出下面的图形

(2)      浮点数的精确两位小数怎么设置,向上/下取整的方法是什么?

(3)      用div+css代码实现下面的图形

(4)      用javascript语句输出下面的数字和表格

1 2 3 4 5 6 7 89 10 11 12 13 14 15 16

       

       

       

       

 

 

 

 

 

 

 

 

 

 

 

 

 

(5)      用jquery实现功能:点击上一题的表格每一个单元格,该单元格填入对应编号的数字

(6)      数组与json的相互转化

(7)      使用五种以上方式获取一个文件的扩展名

<?php
 
 $file = ‘siyuantlw/程序设计.php’;
 
 functiongetExt1($file) {
  return substr(strrchr($file,’.'),1);
 }
 functiongetExt2($file) {
  returnsubstr($file,strrpos($file,’.')+1);
 }
 functiongetExt3($file) {
  returnstrrev(substr(strrev($file),0,strpos(strrev($file),’.')));
 }
 functiongetExt4($file) {
  returnarray_pop(explode(‘.’,$file)); //array_pop 介绍
 }
 functiongetExt5($file) {
  $arr =pathinfo($file);
  return$arr['extension'];
  //或者写成下面这种
  //returnpathinfo($file,PATHINFO_EXTENSION);
 }
 functiongetExt6($file) {
  $temp = strtok($file,‘.’); //strtok函数说明
     while($temp !== false){
        $file_extension = $temp;
         $temp =strtok(‘.’);
     }
     return$file_extension;
 }
function getExt7($file) {
  while($dot =strpos($file, “.”))
  {
   $file =substr($file, $dot+1);
  }
  return $file;
 }
 echo getExt1($file).’<br/>’;
 echogetExt2($file).’<br />’;
 echogetExt3($file).’<br />’;
 echogetExt4($file).’<br />’;
 echogetExt5($file).’<br />’;
 echogetExt6($file).’<br />’;
echo getExt7($file).’<br />’;


(8)      PHP中删除字符串最后一位字符的方法

方法一:substr($arr_str,0,strlen($arr_str)-1);

方法二:substr($arr_str, 0, -1);

方法三:rtrim($arr_str, ",");

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值