【转载】PHP面试中的一些问题及个人总结【实习生岗位】

编辑于 2017-05-15

面试公司

  • 新浪微博(php)
  • 深信服(php)
  • 腾讯(前端)
  • 大疆无人机(运维开发)
  • 阿里巴巴(前端)
  • 美图(php)

面试问题摘要

  • Dijkstra 算法实现最短路径,DFS,BFS 可以实现吗?时间和空间复杂度?可否优化?
  • 写出几种排序算法代码,时间和空间复杂度?怎么优化?
  • 哈希表解决冲突的几种方法
  • 写出链表反转代码(递归,非递归)
  • 二叉树相关问题(如给出两个节点求最近公共节点)
  • 哈夫曼编码
  • 一个兔子跳台阶,一次可跳 n 级,或者 m 级,问跳到第 x 级有多少种方法(动态规划,跳台阶问题)
  • 对 Linux 的熟悉程度,Apache 的配置,Nginx 配置,负载均衡,两者的区别?(如后者为异步非阻塞,静态编译,适合 IO 密集型)
  • 操作系统原理知道多少?进程、线程间通信的几种方式?创建共享文件的方式有哪些?进程控制块有哪些内容?
  • 有哪些类型的锁?死锁的概念?
  • TCP/IP 连接与释放,拥塞控制
  • HTTP 跨域,缓存控制
  • 对 HTML5,JavaScript 的熟悉程度
  • PHP 常用的数组函数
  • PHP7 是如何优化性能的?Composer 等是否用过?
  • ThinkPHP 与 CodeIgniter 区别?(前者耦合性高,开发模式与生产模式行为差异较大等)
  • PHP 的特点(有线程安全层等),内存回收策略,生命周期(分几种运行模式)
  • PHP 不用 js 怎么实现浏览器延迟加载?(ob_flush)
  • HTTP 状态码,结合 PHP 呢?(如 502 多是上游服务如 PHP-FPM 出问题)
  • Web 安全性?(XSS,CSRF,SQL Injection,缓冲区溢出,泛洪攻击),如何规避?
  • MySQL 索引用过吗?(单列索引,多列索引,最左前缀原则,聚簇索引等),怎么调优?
  • InnoDB 索引实现?(B+ 树结构如何?),更新主键的代价如何?为什么?
  • 数据库事务,隔离级别,单表是否需要用到事务?
  • MyISAM 为什么适合读多写少的场景?
  • 表超过多少记录会变很慢?(当时没答好,大概要结合 MySQL 缓存池大小,磁盘性能,表的平均行大小来吹)
  • Redis 用过吗?持久化策略?哪些不足?主从原理?List 可以用来做什么?(简单消息队列),原子操作?
  • Memcache 与 Redis 区别?(内存模型不同,前者支持多线程等)
  • 设计模式,正则表达式
  • 一致性哈希原理,解决了什么问题?
  • 亿级微博表,实现关注与被关注,怎么设计表(根据 id 取余水平分库分表,对微博大 v 加缓存)
  • 出了问题怎么调试?(xDebug,二分法屏蔽模块排错)
  • 是否有 ACM 经历?
  • 简历上的项目,难点?遇到什么问题?会怎么优化?有哪些开源项目?
  • 还用过哪些语言?优缺点?
  • 平时怎么提升自学能力?

体会

  • 核心竞争力

比如我除了某一方面的技术,其他只是浅尝辄止,所以其它方面的面试都挂了。记得曾经一个学长说得对:什么都会一点等于什么都不会。

  • 关于学历

985 或硕士的确会在校招的笔试和面试中占优势,其代表企业是华为,而互联网公司「不那么看学历」,学历低的如果想与他们竞争,要有拿得出手的东西。在下是渣本,在学历方面还是吃了点亏。

  • 兴趣

做喜欢做的事情

  • 自学能力

培训出来的大公司基本不要(研发类),而大学课程的内容太浅,比如把前端学好至少要自己动手搞一年,大学就十几节课,简单应付下考试就完了。

  • 良好的心态

现在社会都比较浮躁,导致很多人的心态都比较焦虑当然也包括我,所以还是要尽量的让自己的心沉静下来,保持一个良好的心态。

  • 技术选型

有些方向,很多公司都不招,但感兴趣还是可以学。而有些方向很火,如靠谱的前端就很缺人,再比如 Java 虽然学的人多,但是只要学得足够吊,多得是去处(这是从实用型角度出发,学术型另当别论)。关键还得自己喜欢

  • 好的项目

做几个不水的项目很重要!

  • 运气成分

比如,如果学校在北京,实习会方便很多;或者同样的岗位换个面试官,结果都可能很不同,即天时地利人和

  • 一定要去BAT?

BAT 纵然很多优点,但也不是全是优点:它们规模很大,加班多,一个萝卜一个坑,底层员工比较难爬。还是适合自己最重要。

本博主感受

  • 这尼玛是实习生的面试题?我表示一脸懵逼!黑人问号.jpg
  • 看完原博主的经历感觉自己被秒成渣,世上有很多东西是你不服不行的
  • 大公司的问题一般都代表着当今行业的趋势,所以很有参考价值,可以作为自己的一个学习导向
  • 你再不努力,估计也就这样了...
  • 感觉自己跟废物没什么区别。

原文链接

暑假实习生招聘经历(附 PHP 后台方向面经)

----Tony Blog