一份PHP初级面试题

今天看到一份PHP初级面试题给大家分享下,好像挺逗比的。其实自己也挺头疼面试的,老是搞那种理论。习惯百度谷歌的人,真想回答句自己百度去。

一、前端部分

  1. Firefox和google浏览器使用的引擎是什么?(前段最起码最起码的基础,调流浏览器兼容性必知。也是使用CSS3和HTML5是必知)

Firefox 使用的是 Gecko,而 Safari 和 Chrome 浏览器使用的都是 Webkit。最新版的opera也使用了webkit

 

  1. 如何用CSS实现水平居中和垂直居中?(基础的基础)

水平居中:text-align:center;margin:0 auto

垂直居中:可以将容器设置为display:table,然后将子元素也就是要垂直居中显示的元素设置为display:table-cell,然后加上vertical-align:middle来实现。或者使用{top:50%;transform: translateY(-50%);}

以上都是不完美实现,但都是基础。根本没思路的是骗子。

 

  1. 如何处理jQuery冲突?(基础的基础)

jQuery.noConflict(); 或者用闭包

(function($){})(jQuery);

 

二、数据存储部分

  1. 怎样定位MySQL中效率较低的语句?

使用show full processlist和慢查询日志。

 

  1. 数据库的增量备份主从服务做过没?

关键点在binlog,也就是二进制日志。

 

  1. MYISAM引擎和INNODB引擎的对比?

关键点:表锁行锁,是否支持事务,索引的存储,适用场景

 

  1. 如果面试者简历中提到了熟悉memcache,那么就问:memcache的默认端口是啥?Value的最大长度是啥?默认的缓存有效期是多久?

答案:端口:11211 ,value最大1M,有效期30天。这三个问题有两个回答错的就是骗子。

如果提到redis,就问redis的最大value值是多少?存储有序和无序集合用哪种数据类型?哪个命令发起事务?哪两种持久化方式?

答案:value最大512M,有序用list和sorted set,无序用 set;发起事务用multi;持久化方式为内存快照和日志追加。

 

PHP部分:

  1. 类的自动加载怎么实现?

spl_autoload_register,回答__autoload 的是没做过,人云亦云的瞎扯。

 

  1. 列举几个PHP的魔术方法?

__set(),__get(),__construct(),__call(),__toString()。一共有14,5个,回答不出4个的说熟悉面向对象是在瞎扯。

 

  1. 正则表达式只能怪不区分大小写的修饰符是哪个?不用正则如何判断email格式是否正确?

答案:i;使用filter系列函数,如果能输出这个系列函数的缺陷更佳。

 

4.MVC的基本流程,每层都干些什么?自己是否实现过MVC框架?

 

 

服务器及其它

  1. linux中类似win的资源管理器命令是哪个?怎样查看开机自启动有哪些服务?计划任务是哪个服务实现?删除非空文件夹用什么命令?

答案:top;chkconfig –list;crontab;rm -r;

 

  1. 平常经常去的技术社区。

 

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

关闭菜单