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有什么区别索引有哪些,你是如何做索引的?如何分表
点击「社区福利」30G-PHP进阶资料,助力大家达到30K
3. 服务器方面
说下一些你常用的linux命令Linux如何搭建LAMP环境你们平常工作的系统环境是在哪里?你了解Docker吗?你说下常用的服务端口号
4. 前端知识
说下都有哪些跨域。事件冒泡DOM事件流JS是如何实现继承的
5. 算法和其它方面
最常用的排序算法做一个微信抢红包的功能如何防止高并发你们用哪种版本控制?如何避免二手手机交易代码冲突在浏览中输入网址后都发生了什么你了解socket吗?
其它,必问知识
在项目中碰到的问题是如何解决问题的未来的规划是什么?为什么离职你的领导会如何评价你你做得你公司最不错的项目,都用了哪些技术,带来哪些成长?TCP的三次握手,为什么三次,两次不行吗?为什么挥手又是四次
对程序员的建议:
一般面试的技术都是以后你要跟着他干的人员,所以多站在对方的场景下想问题,对方肯定是希望有个能帮他分担工作压力的人。回答不要一问一答,最好能说出你自己的理解,以及它的优缺点。一些技术方面的问题,要回答那些实用看的见的效果,比如composer可以解决自动加载类,不用你写过多的new。技术不需要你全部会,但是要有自己的理解,这东西我没用过,但是我了解过一些,大概是什么,它是个啥技术,是为了解决啥技术。对于面试的是技术的,不会就不会,没用过就没用过,如果你乱扯,技术一听就能听出来你说的对不对,但是你可以说说你对这个理解,这样就不至于冷场了,蒙对了加分,蒙错了也代表你会思考这个东西,会去想。
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。