Maison > développement back-end > tutoriel php > 腾讯php程序员部分面试题及答案分享

腾讯php程序员部分面试题及答案分享

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-07-25 08:59:25
original
1154 Les gens l'ont consulté
  1. class Sample implements iterator{
  2. private $var = array(1,2,3,4,5);
  3. public function __construct(){}
  4. public function rewind(){ reset($this->var);}
  5. public function current(){return current($this->var);}
  6. public function key(){return key($this->var);}
  7. public function next(){return next($this->var);}
  8. public function valid(){return ($this->current()!==false);}
  9. }
  10. $s = new Sample();
  11. foreach($s as $k=>$v){ echo $k.'='.$v.'
    ';}
  12. ?>
复制代码

3. 简单说明PHP的垃圾收集机制是怎样的? 对变量有个引用计数,计数到0时变量被销毁。

4. 使对象可以像数组一样进行foreach循环,要求属性必须是私有。 (Iterator模式的PHP5实现,写一类实现Iterator接口) 我记得好像对象也可以foreach,或者用反射的方式。 如果真要迭代模式实现的话,去看设计模式或者java的写法了。

5. 请写一段php代码,确保多个进程同时写入同一个文件成功 代码:

  1. function writeData($path, $mode, $data){

  2. $fp = fopen($path, $mode);
  3. $retries = 0;
  4. $max_retries = 100;
  5. do {
  6. if ($retries > 0) {
  7. usleep(rand(1, 10000));
  8. }
  9. $retries += 1;
  10. }while (!flock($fp, LOCK_EX) and $retries
  11. if ($retries == $max_retries) {

  12. return false;
  13. }
  14. fwrite($fp, "$data\n");
  15. flock($fp, LOCK_UN);
  16. fclose($fp);
  17. return true;
  18. }
复制代码

6. 你用什么方法检查PHP脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在? PHP脚本的执行效率 1, 代码脚本里计时。 2, xdebug统计函数执行次数和具体时间进行分析。,最好使用工具winCacheGrind分析 3, 在线系统用strace跟踪相关进程的具体系统调用。

数据库SQL的效率 sql的explain(mysql),启用slow query log记录慢查询。 通常还要看数据库设计是否合理,需求是否合理等。

想进入腾讯QQ吗?把以上的面试题全部搞会,然后拿着你的铺盖去腾讯吧,呵!!



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal