阿里php面试题(六)

1. PHP方面的问题

  • 什么是composer?以及composer是干什么用的?工作原理

  • PHP如何实现静态化

  • 你了解设计模式吗?说下你最常用的设计模式

  • 观察者模式是如何实现的?工厂模式是如何实现的?适配器模式是如何实现的?……

  • PHP的优化方案

  • 说下你了解的session和cookie

  • 如何实现不基于session和cookie的用户认证。

  • 说下你目前框架所用到的核心概念

  • 什么是CSRF攻击,XSS攻击?如何防范

  • 你了解RESTful API吗?说说干什么用的。

  • 设计的原则

  • 如果实现自动加载?不用composer如何实现?PSR-4是什么?

    2. 数据库方面

  • 你知道nosql吗?你用的nosql都有哪些?

  • mysql索引优化

  • mysql的优化方案

  • mysql的事务

  • mysql的读写分离

  • 消息队列如何实现

  • 查询优化

  • msyql的存储引擎,以及各自的区别

  • redis和memcache有什么区别

  • 索引有哪些,你是如何做索引的?

  • 如何分表

    3. 服务器方面

  • 说下一些你常用的linux命令

  • Linux如何搭建LAMP环境

  • 你们平常工作的系统环境是在哪里?

  • 你了解Docker吗?

  • 你说下常用的服务端口号

    4. 前端知识

  • 说下都有哪些跨域。

  • 事件冒泡

  • DOM事件流

  • JS是如何实现继承的

    5. 算法和其它方面

  • 最常用的排序算法

  • 做一个微信抢红包的功能

  • 如何防止高并发

  • 你们用哪种版本控制?如何避免代码冲突

  • 在浏览中输入网址后都发生了什么

  • 你了解socket吗?

其它,必问知识

  • 在项目中碰到的问题
  • 是如何解决问题的
  • 未来的规划是什么?
  • 为什么离职
  • 你的领导会如何评价你
  • 你做得你公司最不错的项目,都用了哪些技术,带来哪些成长?
  • TCP的三次握手,为什么三次,两次不行吗?为什么挥手又是四次

    对程序员的建议:

一般面试的技术都是以后你要跟着他干的人员,所以多站在对方的场景下想问题,对方肯定是希望有个能帮他分担工作压力的人。 回答不要一问一答,最好能说出你自己的理解,以及它的优缺点。 一些技术方面的问题,要回答那些实用看的见的效果,比如composer可以解决自动加载类,不用你写过多的new。 技术不需要你全部会,但是要有自己的理解,这东西我没用过,但是我了解过一些,大概是什么,它是个啥技术,是为了解决啥技术。 对于面试的是技术的,不会就不会,没用过就没用过,如果你乱扯,技术一听就能听出来你说的对不对,但是你可以说说你对这个理解,这样就不至于冷场了,蒙对了加分,蒙错了也代表你会思考这个东西,会去想。