最近面试了近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, ",");