本文目录一览:
面试高级php工程师,一般会问到哪些问题
高并发大访问量的mysql优化,服务器优化?
字段建索引、主从数据库、读写分离、表分区、负载均衡。
linux的慢查询日志会记录mysql的超时查询sql语句,定期察看进行优化。
2.大访问量下秒杀模块程序怎么设计,如果使用mysql会有多卖的情况,就是订单超过库存。
将订单数据缓存到内存,如果用数据库直接崩掉,毫无悬念的。
3.缓存的使用
能用静态的用静态,不能静态的用内存缓存,例如memcache、redis,不能缓存的用数据库。
4.session可不可以跨域?怎么跨域?
将PHP session机制重写(PHP提供),将session存储在memcache或者数据库就可以跨域了。
另外session能以三种方式存储,文件、数据库、缓存。
5.了不了解非关系型数据库?
mongodb
6.会不会写shell脚本以及linux的操作
还会问一下时下流行的东西,比如做没做过微信开发,例如微信支付开发、APP移动开发,等等问题。
问的核心东西都是围绕这些转的,如果有笔试会让你写sql,php功能(例如冒泡排序等排序),还有逻辑题。
我当初面试了很多,这是一个我的面试经验的总结,纯手打忘采纳。
成为一名PHP工程师需要学习哪些内容
PHP作为模板语言,用的时候常常和web前端配合得比较紧密,所以web前端的HTML、JavaScript、CSS必须要有所了解。
现在很多应用在后端提供数据,把较多的逻辑移到客户端去,所以在这种情况下的数据交互方式,例如XML,json,jsonp等都有必要了解。
PHP常打交道的几个网络协议,HTTP/TCP/IP/DNS我觉得也很有必要有所了解,特别是HTTP。
很多时候你还需要了解一些工具的用法,例如版本控制,FTP的使用,或者scp/ssh这样的工具的使用。
PHP赖以运行的技术,例如Apache,nginx,IIS,fastCGI等有必要了解一下,比如Apache,nginx,IIS分别是怎样做地址重写的。
必须要掌握一种数据库,和PHP配套的比较多的是MySQL,可以考虑这个。
对常见的框架例如ThinkPHP,Zend Framework,以及常见开源程序例如wordpress,phpwind等有所了解。
当然了,具体要用到哪些知识与你的职位的职责有关。比如说,如果工作中用到的技术都有人替你想好了你只负责具体编码,那么网络协议相关的内容常常就完全不需要了解了。
简单讲了一下,权且当作抛砖引玉吧。
北大青鸟设计培训:PHP工程师需要学习哪些内容?
怎么样才算是一名合格的PHP程序员?答案是能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。
完成这些内容的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。
一名合格的PHP程序员需要学习的内容有哪些?下面来看看烟台北大青鸟培训老师的看法。
1.PHP:基本语法数组、字符串、数据库、XML、Socket、GD/ImageMgk图片处理等等;熟悉各种跟MySQL操作链接的api(mysql/mysqli/PDO),知道各种编码问题的解决;知道常规熟练使用的PHP框架(ThinkPHP、Zendframework、Yii、Yaf等);了解基本MVC的运行机制和为什么这么做,稍微知道不同的PHP框架之间的区别;能够快速学习一个MVC框架。-acaaphp工程师题库
能够知道开发工程中的文件目录组织,有基本的良好的代码结构和风格,能够完成小系统的开发和中型系统中某个模块的开发工作。
2.Nginx:做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道server/fastcgi_pass/access_log等基础配置,目标是能够让nginx+php_fpm顺利工作。-acaaphp工程师题库
3.MySQL:会自己搭建mysql,知道基本的mysql配置选项;知道innodb和myisam的区别,知道针对InnoDB和MyISAM两个引擎的不同配置选项;知道基本的两个引擎的差异和选择上面的区别;能够纯手工编译搭建一个MySQL数据库并且配置好编码等正常稳定运行;核心主旨是能够搭建一个可运行的MySQL数据库。-acaaphp工程师题库
4.Linux:基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed脚本命令等。
5.前端:如果条件时间允许,可以适当学习下HTML/CSS/JS等相关知识,知道什么web标准,div+css的web/wap页面模式,知道HTML5和HTML4的区别;了解一些基本的前端只是和JS框架(jQuery之类的);了解一些基本的JavaScript编程知识;(本项不是必须项,如果有时间,稍微了解一下是可以的,不过不建议作为重点,除非个人有强烈兴趣)6.系统设计:能够完成小型系统的基本设计,包括简单的数据库设计,能够完成基本的:浏览器-Nginx+PHP-数据库架构的设计开发工作;能够支撑每天几十万到数百万流量网站的开发维护工作。-acaaphp工程师题库
PHP开发工程师
这个职业是很有前途的。但是同样的也需要具备一些相应的技能
1.PHP 原生标准库精通,三种大型框架中熟练掌握一门的开发(Symfony2、Yii、ZF2),小型框架中(Codeigniter 等)通读其一源码。
2.MySQL 语句精通,
3.相关开源方案的使用 Nginx、Memcache、Cherokee、CAS 等
4.前端方面,CSS、Javascript、jQuery、Bootstrap,
5.了解一些诸如 CDN、集群 等实际生产环境中的技术原理和其他团队的实践
6.CMS 系统:Joomla、Drupal、Wordpress、PHPCMS
7.线上的 VPS 或物理服务器,CentOS、Debian、FreeBSD 系统熟练使用其一,能准确分析系统性能瓶颈BIRULINGMAODS什么的DIANSHANG
8.阅读 Web 安全相关书籍和文献,能够对 Web 站点进行实际的攻守并了解各类常见安全问题的原理和解决方法
9.Shell 或编译语言能够熟练使用其一:Python、NodeJS、Ruby、GO、C
10.学习一些时间管理和项目管理理念,主要是多阅读一些书。
11.设计模式、算法导论、代码等都要通读