[请益] 现在的 PHP 后端工程师到底要会什么

楼主: chan15 (ChaN)   2018-01-10 11:35:11
各位好,自我介绍一下,我写 PHP 大概七八年了,coding 部份有按照 psr
SOLID 设计模式,用 composer 管理套件,git 大部分常用的都会用
框架的话 Codeigniter、Laravel 都算熟,会写测试
JavaScript、jQuery 都还可以,会自己写 plugin 来用
js 写到 es6 用 webpack + babel 编译,玩过一下 vue.js
写过商城、金流、彩票游戏
加分部份
1. 会写一些 shell script,Linux 部份 ubuntu centos 基本指令都可以
有玩 vagrant 跟 docker
2. MySQL 基本指令,设定权限、CRUD 那些没问题,当然一些复杂的 join 也写过
但那种东西基本上应该要透过资料表设计排除
3. 会写一点 node.js 用过 express 架过 api server
4. 会写一点 python 用过 flask 架过 api server
大致上重点履历说明如上,当然履历上会放作品等更细的内容
我要说的是,一般征所谓的征 PHPer 的主管应该大致知道底限或者是极限在那才是
但从去年到现在,有去聊天面试的部份公司,精确的话来说八间里面有三间有问到类似的问题
让我有点无所适从,不过也怀疑是不是真的必须去加强这块,所以上来请益
他们问的问题是,要怎么开发网页可以承担百万人同时在线,或每秒百万的写入
我的回答是,我没有过这样的经验,我待过得公司有超过万人规模的这种东西都是分开处理的
有 SI 会做规划,PHPer 确保程式不会造成延宕或出错,该进 cache 的进 cache
一般来说 op 那边会透过硬件跟系统的架设去消化这件事,具体高流量每秒写入数据库的规划我们根本碰不到
就连我去问公司负责金流后端开发的答案也差不多,用机器、用集群、用缓存去档
但面试者会说在 PHP 这边也会有相对应的方式,硬件也有办不到的事
上一个面试者还说 MySQL 一秒只支援几百笔写入,所以你们要想办法
这几间公司的共通点就是,新创、c2c、都说自己是大数据,薪水大概落在 5-6 万
想在这边请益各位是不是后端要想办法切入这一块,是的话该怎么切入
作者: s1012518 (Oloter)   2018-01-10 11:58:00
php7年只有6万吗QQ
作者: fightmz (漫无目的)   2018-01-10 12:06:00
那你怎不反问面试官要怎么做到,既然对方有本事问,应该要有本事回答
作者: dnabossking (少狂)   2018-01-10 12:17:00
想知道台湾那间公司“真的”有每秒百万次写入的需求
作者: asuka05 (__)   2018-01-10 12:21:00
我也觉得多用机器、架构解决,不过如果真的要寻求程式解前阵子看到一个利器 swoole参考 http://blog.albert-chen.com/php-with-swoole/
作者: blo6 (bbb)   2018-01-10 12:35:00
同时百万人在线的话公司离上市应该也不远了
作者: shortoneal (不告诉你咧)   2018-01-10 13:07:00
电商, 博弈那种的吧
作者: GALINE (天真可爱CQD)   2018-01-10 13:07:00
我觉得面试者想听的是偏向系统架构的回答,而不是程式面百万比较夸张,但是应付大量(例如qps成千上万)是门学问台湾还是有不少公司有这个量,而且这个量用 laravel 撑大概会想杀人自我揭露:我在面试资深的时候问过类似的问题
作者: Masakiad (Masaki)   2018-01-10 13:32:00
楼上说的系统面具体来说是指啥?原po讲的cluster cache/queue LB这些不算吗?
作者: accessdenied (存取违规)   2018-01-10 13:40:00
每秒百万笔的量是说阿里巴巴的双十一吗?阿里巴巴一样用MySQL做到这样,做得到就去当阿里巴巴架构师了,还跟你面试拿月薪六万?
作者: GALINE (天真可爱CQD)   2018-01-10 13:47:00
简单就就是那些吧,然后就是照题目的细节设计取舍不过我比较问有实际的情境,例如“clone 一个 twitter”(比较喜欢)有情境比较能想像哪里能取舍,也比较能看出对面的人怎么去接近需求,甚至怎么跟需求单位讨论需求除了设计系统以外,怎么跟人沟通这些东西也是我想看的
作者: zg0608x (眼睛長在腳底下)   2018-01-10 13:54:00
百万人上线却用MySQL是想搞谁XD
作者: GALINE (天真可爱CQD)   2018-01-10 14:00:00
突然觉得“Twitter 怎么应付拉普他之乱”是个好问题...“只”会PHP却不管架构,我觉得到某个等级以上不好用...另外我的经验是通常瓶颈不在PHP端,所以大部分效能问题靠PHP加速解不掉。唯一碰过的例外是eloquuent大量查询...薪水是另一个问题了,台北高雄根本两个世界...有情境还是比较好,聊天室跟电商的解法会完全不一样
作者: Masakiad (Masaki)   2018-01-10 18:42:00
赞同情境题,真的要解要从找效能瓶颈开始,突然要搬个solution出来根本不实际,更何况考题是百万每秒写入,让人怀疑是真的是找他们要的人还是只为考倒应试者。
作者: y3k (激流を制するは静水)   2018-01-10 21:31:00
要怎么开发同时百万人在线 就是架附载平衡阿必要的时候一些系统架去AWS做auto scale 公司机房可以关了XD
作者: Argos (Big doge is watching u)   2018-01-11 01:37:00
跟你说啦 Alexa全台前十名的网站你去看看 其实架构意外的超简单喔每次都在考虑根本不会遇到的问题 自以为 XD
楼主: chan15 (ChaN)   2018-01-11 21:01:00
大大说的我有感,我有朋友在 eprice 上班,在台湾流量应该算高的,当时他说们是 PHP4 + MySQL 4 db 读写没有分离,超过五年前的事了..
作者: yellowbooky (森永大嘴鸟)   2018-01-12 09:00:00
这些主管大概是Google不要的那种主管吧点是主管问完有没有讲大概解法,否则谁不会讲讲就好
楼主: chan15 (ChaN)   2018-01-12 09:29:00
不太可能讲,应该当公司机密吧
作者: yellowbooky (森永大嘴鸟)   2018-01-12 09:46:00
不详细讲还好吧,看要系统面或程式面,不然问完批评完都不讲都不觉得怪吗
作者: justben (BEN)   2018-01-12 14:32:00
hhvm , graphqlhack
作者: THEWORLDS (天下)   2018-01-13 17:23:00
开6万给你的乞丐公司妳是还要问啥啦
作者: longlongint (华哥尔)   2018-01-16 09:07:00
丢到云端上跑阿 软件再想办法
作者: CoNsTaR ((const *))   2018-01-16 09:25:00
这还用说吗 当然要会 dependent types, HoTT 啊 呵呵
作者: bitcch (必可取)   2018-01-16 12:16:00
load balance
作者: xdraculax (首席怪叔叔)   2018-01-17 09:29:00
这种骑着捷安特就想飞天的公司管他去死

Links booklink

Contact Us: admin [ a t ] ucptt.com