本文主要和大家分享php面试中长见问题记录,我们先和大家分享一些hr会问到的问题,希望能帮助到大家。
1 你的职业规划是什么,并为这个目标做了那些努力
2 你的性格优缺点是什么
3 你在团队中的角色是什么
4 离职的原因是什么
5 你对加班怎么看
6 在工作中做过的觉得比较有意义的一件事
7 自己平时除工作外,关注什么其他技术
8 你找工作时看重的是哪些因素(这个问题就比较深入了,问这些问题的我觉得要不是hr很负责,能力强,要不就是公司对这个岗位比较看重)
最后—你有什么想问我的
技术方面
0.1 大访问量 高并发的解决方案
1 mysql如何分库分表
个人认为,目前掌握难度3颗星。需要比较多的基础知识,可能不需要你实际操作中用过,但理论你必须能说出来
2 php设计模式–很重要–说出你知道的设计模式及使用场景和优势
我认为这是中级程序和初级程序之间,甚至是高级程序和中级程序之间的一个过渡标准,单纯从程序语言方面来讲,能牵扯到设计模式的时候应该已经是稍微有点规模的项目了。当然了,你可能平时不会注意,但实际中在用。可面试的时候你说不出来或理解的不深刻会成为你的减分项,而且是很重要的一点,因为你毕竟是一名程序员而不是DBA或运维,所以属于程序的知识你还是应该掌握更多的。
3 数据库千万级别的数据操作和表设计
4 对索引的理解
5 memcache的理解和底层—类似此类的缓存几乎是必考的,扩展如memchache和redis的区别及实际应用场景
6 redis的使用场景
7队列和堆栈的理解及实际应用场景
8 php多进程
正则表达式的(50%的考中机会,有些面试官会比较看重,因为这是基础,就像操作字符串一样)
什么是面向对象,考中几率50%。直说封装 继承 多态直接淘汰
apache和nginx的区别,以及为什么现在大都选用nginx
mysql 优化方法,问的非常笼统,只要考你平时对mysql的运用水平和设计深度,考中几率10000%,只是看考的问题深浅
linux使用情况,要求不想对缓存和mysql这么深,但也是基本的至少计划任务、简单的shell脚本和基本命令你肯定要回
session问题(比如session共享、session和cookie的关系等,这是必考的,几乎是100%)
事物的本质是什么以及应用场景
9 对字符串和数组的操作,必考,没有跳过这两种问题的
以上都是笼统的,但都是必考的,下面是笔试
10 int=intval(int)和int=int+0的区别
intval是强制将变量转换成整型。而+对变量的操作只能是进行相加的运算操作,所以,如果int是整型的话可以正常运算,如果是非数值型,结果为011arr1= array(1,2,3,4,5);
arr2=array(6,7,8,9,10,11);vardump(arr1+arr2);的结果是什么12arr1 = array(1,2,3,4,5);
foreach(arr1 as &item){echo item;}item = 3;
foreach(arr1asitem){echo $item;}
这两次会输出什么
13 php对大文件的操作和linux对大文件的操作—-考中的几率非常大,尤其是前者
14 写一个函数,能够遍历文件夹中所有文件和子文件 这个几乎是必考的
15 表tab_log的结构,id,uid,tm;如何实现查询某天中有三条记录以上的uid
select uid,count(*) as num from tab_log group by tm having num > 3
16 error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
后者的权限大于前者,后者是OFF的话,前者就算是E-ALL也没用。
17 echo print print_r的区别
echo 和print的最大的区别是前者是php内置语句,没有返回值,不能用于表达式中比如三元运算符。后者属于函数,打印正确返回true错误返回false. 1?print(1):6; 正确,但使用echo是错误的。
—持续更新
最后,终极问题,谈谈你对面向对象的理解,呵呵
总体来说,面试要比笔试重要的多(前提是面试官不忙,你如果笔试题答的不好可能直接就没有面试机会了),只要你面试发挥的好一切都不是问题,可是,可是,可是,你面试发挥的好,面试能发挥的不好吗哈哈,万物皆有共性,好多事都是相辅相成的
首先是hr问题
1 你的职业规划是什么,并为这个目标做了那些努力
2 你的性格优缺点是什么
3 你在团队中的角色是什么
4 离职的原因是什么
5 你对加班怎么看
6 在工作中做过的觉得比较有意义的一件事
7 自己平时除工作外,关注什么其他技术
8 你找工作时看重的是哪些因素(这个问题就比较深入了,问这些问题的我觉得要不是hr很负责,能力强,要不就是公司对这个岗位比较看重)
最后—你有什么想问我的
技术方面
0.1 大访问量 高并发的解决方案
1 mysql如何分库分表
个人认为,目前掌握难度3颗星。需要比较多的基础知识,可能不需要你实际操作中用过,但理论你必须能说出来
2 php设计模式–很重要–说出你知道的设计模式及使用场景和优势
我认为这是中级程序和初级程序之间,甚至是高级程序和中级程序之间的一个过渡标准,单纯从程序语言方面来讲,能牵扯到设计模式的时候应该已经是稍微有点规模的项目了。当然了,你可能平时不会注意,但实际中在用。可面试的时候你说不出来或理解的不深刻会成为你的减分项,而且是很重要的一点,因为你毕竟是一名程序员而不是DBA或运维,所以属于程序的知识你还是应该掌握更多的。
3 数据库千万级别的数据操作和表设计
4 对索引的理解
5 memcache的理解和底层—类似此类的缓存几乎是必考的,扩展如memchache和redis的区别及实际应用场景
6 redis的使用场景
7队列和堆栈的理解及实际应用场景
8 php多进程
正则表达式的(50%的考中机会,有些面试官会比较看重,因为这是基础,就像操作字符串一样)
什么是面向对象,考中几率50%。直说封装 继承 多态直接淘汰
apache和nginx的区别,以及为什么现在大都选用nginx
mysql 优化方法,问的非常笼统,只要考你平时对mysql的运用水平和设计深度,考中几率10000%,只是看考的问题深浅
linux使用情况,要求不想对缓存和mysql这么深,但也是基本的至少计划任务、简单的shell脚本和基本命令你肯定要回
session问题(比如session共享、session和cookie的关系等,这是必考的,几乎是100%)
事物的本质是什么以及应用场景
9 对字符串和数组的操作,必考,没有跳过这两种问题的
以上都是笼统的,但都是必考的,下面是笔试
10 int=intval(int)和int=int+0的区别
intval是强制将变量转换成整型。而+对变量的操作只能是进行相加的运算操作,所以,如果int是整型的话可以正常运算,如果是非数值型,结果为011arr1= array(1,2,3,4,5);
arr2=array(6,7,8,9,10,11);vardump(arr1+arr2);的结果是什么12arr1 = array(1,2,3,4,5);
foreach(arr1 as &item){echo item;}item = 3;
foreach(arr1asitem){echo $item;}
这两次会输出什么
13 php对大文件的操作和linux对大文件的操作—-考中的几率非常大,尤其是前者
14 写一个函数,能够遍历文件夹中所有文件和子文件 这个几乎是必考的
15 表tab_log的结构,id,uid,tm;如何实现查询某天中有三条记录以上的uid
select uid,count(*) as num from tab_log group by tm having num > 3
16 error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
后者的权限大于前者,后者是OFF的话,前者就算是E-ALL也没用。
17 echo print print_r的区别
echo 和print的最大的区别是前者是php内置语句,没有返回值,不能用于表达式中比如三元运算符。后者属于函数,打印正确返回true错误返回false. 1?print(1):6; 正确,但使用echo是错误的。
—持续更新
最后,终极问题,谈谈你对面向对象的理解,呵呵
总体来说,面试要比笔试重要的多(前提是面试官不忙,你如果笔试题答的不好可能直接就没有面试机会了),只要你面试发挥的好一切都不是问题,可是,可是,可是,你面试发挥的好,面试能发挥的不好吗哈哈,万物皆有共性,好多事都是相辅相成的。
相关推荐:
Atas ialah kandungan terperinci php面试中长见问题记录. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!