php面试

趁着脑子里面的面试题记忆还鲜活,针对2-3年经验的PHPer的面试题。

  1. 网络基础
    1) 从浏览器输入网址到页面展示有一个怎样的过程?
    且由此衍生:
    a.nginx在其中起到的作用
    b.php-fpm起到怎样的作用

    2) 三次握手(回答出来了还会有一个四次解绑)

    3)http code码(2xx,3xx,4xx,5xx分别代表什么意思)

    4)网络的常见攻击,怎样防止(sql攻击,xss,csrf等)

  2. 数据库,以常用的mysql为主
    1)常用的数据库有哪些

    2)常用的引擎有哪些(innodb myisam)
    由此衍生出:
    a. innodb 和 Myisam之间的区别和联系
    b. innodb相较于myisam有什么优势
    c.innodb可以使用事务,那么数据的存储方式是怎样的
    b. 了解行锁和表锁么,innodb和myisam哪个是行锁哪个是表锁

  3. 缓存
    1)常用的缓存类型(redis和memcache)
    由此衍生:
    a. redis和memcache之间的区别
    b.两种缓存的应用场景
    c.redis常用的有几种类型,这几种类型的经典应用场景有哪些
    d.redis的一个常用的命令,例如:get,set,incr之类
    e.一般会出一个题目,例如我统计在线人数等等,可以用怎样的方式,另外常问的还有秒杀的场景,以及,储存热点数据怎样操作。
    f. redis的队列
    g.redis的锁机制

    2)缓存的应用场景,什么样的情况下会用到缓存

    3)实际项目的应用中,哪里运用到了缓存

  4. PHP
    1)PHP5和PHP7之间的区别(PHP7相较于PHP5有什么优势)

    2)写出PHP常用的数组函数,有什么意思,使用场景

    3)根据心情举一个例子,看你知不知道该函数的意思

    4)几种常用的设计模式,可以手写一个单例模式或者工厂模式

    5)现在正在用什么样子的框架,他的优势是什么

    6)了解下swoole

  5. 其他
    1)linux常用的命令
    要查找某一个文件
    要查找某个文件中含有某个字段的地方(aaa,等)
    查看内存占用情况

    2) 基本的运维知识,例如上线出问题了第一步应该怎么做,在线上机器有进行过什么操作

    3) 是否了解docker,怎样应用,这是一个怎样的东西

    4)有了解其他的语言么
    5)关于压测,使用的压测工具,pv uv代表什么意思。

**有时间的话会补充答案**

你可能感兴趣的:(php面试)