马上注册,结交更多好友
您需要 登录 才可以下载或查看,没有账号?立即注册
x
来菲律宾后,公司换了五六家,收到的offer至少三十份是有的。面试公司三十多家,至今还没有过没收到offer的情况,自己也担任过面试官,面试了不少新人。我个人面试的职位大都是中高级php以及技术主管的职位。所以,在上岸之际,我就把这边php的招聘水准以及面试的需要准备内容分享给后来者,掌握了我所说的这几点,至少面个中级php是毫无悬念的。下面内容主要针对中高级,初级的我就不说了,因为这边对初级的phper并没什么太高的要求,几乎可以对数据库curd、写一写 api 以及用过一两个框架就没什么问题了。
对于后端语言,其实语言的语法掌握是最基本的,也是最简单的,所以面试官一般不会问你这个语法是什么意思,因为没什么太大的意义。我先用一个五年开发经验的老程序员的眼光来分析下什么是后端开发,既然有有后端开发,那必然是有前端开发的。
什么是前端开发,凡是进行客户端的开发均可以理解为是前端开发,比如浏览器、app就是最常用的客户端,因此web开发、h5开发、app开发,其实都可以大体理解为是前端开发。
什么是后端开发,凡事基于服务器端的开发,比如数据库存取、I/O读写、请求与响应、进程、线程、缓存读写等等的操作行为,都可以看作是后端开发。再看的深一点的话,我们可以发现,后端开发其实就是进行对服务器 cpu 以及 内存 的操控行为。
什么是好的后端?在我看来只有一句话,在满足业务需求以及保证代码的拓展性和维护性的基础上,使服务器的利用率达到最高,就是好的后端开发。
然后,我们分析,菲律宾的php面试需要准备那些重点。
根据我的经验,菲律宾的php面试主要有这几点:
项目经验,以及对项目开发的理解(如何下手一个新项目)
php语言的掌握程度
数据库相关知识
nginx相关使用
缓存方面知识(redis、memcached)
高并发处理经验以及手段
linux基本操作和理解
git基本操作和理解
框架的使用经验( 一般为主流框架,如 laravel 和 tp5 )
网络安全相关问题
攻击以及防护相关问题
其他一些杂七杂八的东西,比如 composer 、psr4标准等
上面几点是大概率会被问到的问题,也几乎只会问到这些范围内的问题,我简单展开下每个问题,但是具体的进阶,各位需要面试的话自己看。
1.他其实就像想知道你是否熟悉项目开发流程以及有独立完成项目的能力,或者有足够的开发经验。
项目开发流程:产品需求分析 -》产品原型分析 -》设计表结构 -》选择开发框架 -》设计业务模块 -》定义开发接口 -》 开始搬砖。
2.php的基础掌握。我们知道php是脚本语言,那肯定会问一些脚本语言的问题,比如脚本语言和编译语言的区别,什么是脚本语言,他的执行方式,或者更牛逼一点会问PHP语言的执行过程,其实就是想问你了解不了解 opcode。
虽然我们大多数phper,包括我,大部分时间都是在面向过程编程,因为框架把面向对象的事情都做了,但是面试官还是会装逼的问一下你,是否了解面向对象编程(静态方法、变量权限、抽象类、接口、继承、克隆、魔术方法等)。
命名空间、正则匹配的一些基本知识也是会问一下的。
还有什么单引号双引号区别,get和post请求、session原理;
3.没什么好说的,该看的都要看(三番式、索引类型以及特点、查询优化、事务处理、主从同步、多库联合、锁处理);
4.ngixn的话,只要会简单的配置以及反向代理,一般就ok了;
5.redis 有哪几种数据类型,分别是什么,还有高并发情况下的的雪崩问题如何解决(解决方案是 加锁 )以及redis持久化原理(快照(RDB文件)和追加式文件(AOF文件));
6.事实上,我所在的几家公司,高并发的场景都很少,我相信不部分公司其实并没有太高的并发的情况,但是这却是个必问的问题,可能觉得如果不问不够专业吧。
什么是高并发?它通常是指,通过设计保证系统能够同时并行处理很多请求。
高并发相关指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。
我们知道php是单线程的,现在由于php-fpm的加持,fpm帮我们维护了一个线程池,负责php线程的调度执行,所以每一段程序执行的效率,直接影响的高并发的指标。通常的效率瓶颈有这么几种,复杂的算法、大的循环、数据库慢查询等。
现实情况中,比较多出问题是出在数据库这边,通常的解决方法是,主从同步,分布式部署以及对数据进行缓存。
如果流量太大,一台服务器不够用也要进行多台服务器分布式部署。这里涉及负载均衡的配置,以及nginx几种负载均衡的算法。
7.不说什么了,天天用就会了(ls、top、ps、du、df 。。。。)。
8.git的基本使用方法,没什么说的。
9.现在的主流框架越来越像,tp5的涉及理念明显是借鉴了laravel啊,什么依赖注入、容器、合约、服务提供者、门面、中间件、restful api 等等,了解一下,用一用就好了。
10. https(http+ssl)、非对称加密(密文、私钥、公钥)、加密算法,这些在开发支付时需要用的到。
11.cc攻击(ddos的一种)、ddos攻击,防护方法 :
cc:服务器垂直扩展和水平扩容、 数据缓存、 页面静态化、 用户级别的调用频率限制、 IP限制
ddos: 砸钱!(买防护、买带宽)
12.想什么composer 、 psr4在框架部分因该会问到,主要是想问php如何引入第三的程序包(这也是我为什么越来越不喜欢不喜欢php的原因,引个包命名空间烦死了,当然了,php是世界上最好的语言!);
以上是我总结的菲律宾php面试要点,只要上面的看完并且深入理解,offer肯定随便拿的。建议人事和猎头也可以给你们的求职者看看,绝对可以大大提高入职率。 |
|