php程序员面试复盘

总结一下我这段时间面的两家公司的经历吧!

       首先简单介绍一下个人情况,本科非重点学校文史类毕业,所以专业并不是很对口,这一点在有些机会上就吃了一些亏,16年培训机构学习java,17年外包公司干了一年。过程之中转的php,为啥会java好好的会转php呢,两点原因,年少无知,啥也不懂。公司业务需要,java项目开发成本高,直接一刀砍。没办法,就被转型了,现在想做回java就难了。然后18年来北京到现在就职于一A轮左右的私企。所以说以下篇幅都是一个 后入门的 三年的 门外汉的认知前提下进行总结的东西,各位大佬觉得哪里有瑕疵,或者说的不对的地方欢迎指出批评。

首先是简历部分

        简历无疑是面试前我们最需要着重准备的地方,因为简历不准备好,在北京这个遍地程序员的城市,哎。根本没有面试机会。这里要说的程序员的简历。

        首先你得简历上逻辑思维,页面排版一定要清晰,尤其是技术栈不能混淆,技术栈混淆了,面试官一眼就逮出毛病了。 举个最简单的例子。数据库部分,你把mysql、sqlserver、redis、memcached 等等一些存储数据都东西都列到一列。是,大体一看没毛病,都是数据库,只不过是一个是关系型,一个是非关系型的。但是大家都有用redis做缓存,你见过有几个用mysql做缓存的。所以说还是要按照功能点细分,再细分,让你的简历技术栈部分从上到下整体的看到一个完整的思维逻辑的结构,技术栈千万不能混淆,也不能写错。

       然后是项目经验部分的内容。。。

其次面试过程中聊天的非技术部分

      无论什么岗位,无论什么公司。面试过程上来肯定都需要做一个自我介绍。这部分来说因人而异吧,反正我觉得做到不卑不亢就好。大部分公司在面试的过程中希望看到的还是你目前的最真实状态以及未来几个月甚至一年,或者多久之后对公司的发展能做出的贡献。除非你面的管理岗,岗位要求你入职之后马上就要有一整套的管理方案以及技术体系,这类我目前还没有机会接触,暂且不谈。所以面试过程中交流要真诚,对话时目光不要上下飘荡,不要闪躲。最好的状态是能保持聊天过程中目光偶尔与面试管对视的那种感觉。

     离职原因或者跳槽原因,这也是除了大学生以外的群体,面试过程中必问到的问题,这里一定要注意,不管你跟上家公司之间发生过什么纠纷,发生过什么不愉快,什么原因离的职。在本次面试过程中,无论是什么方面都不要去诋毁你的上一家公司,重点部分轻描淡写就过去了,面试官领会到你的意思就可以了,这样看起来你整个人更加平和。

    职业生涯规划,这一点一般有点规模的公司人事面的时候都会问你,也没啥可说的,如果你想去这家公司,就往这家公司发展的方向上靠。一句话,舔就完事。

最重要的就是面试过程中的技术部分

       这部分也是我记录这篇文章的最主要一个原因吧。记录一下面试的热点和命中率高的一些问题,方便日后自己学习,有些东西看一遍是真的理解不了。老生常谈,常规php开发固然离不来的几个东西,lnmp。linux、nginx、mysql、最后才是php,为啥放在后边,体现了一个思想,编程语言只是为实现目的工具而已,反正我觉得可能是这个意思,或者也是无意就这样放的,排名不分先后。就像BAT,为啥百度排在最前边。哈哈,这都是题外话。总结一下,分几类吧。

首先php相关的部分

1、语言的基础语法部分

这里做一个简单的举例,后续有时间的话,系统的填充进去。比如常用的魔法函数啊,魔法变量,什么 i++ 与 ++i 的区别啊等等诸如此类

2、框架部分

有些公司会很在意你对某些框架的掌握程度。在这之前其实我对这个事也是挺不懈的,不就是一个框架么,逃不开还是php啊,我有语法基础,去学这些很容易的。但是其实仔细思考也对,公司考虑你的学习成本,上手速度、时间。到头来都是公司所要培养你付出的成本,说白了大家都是利益驱使,无可厚非,所以市面主流框架要掌握,thinkphp、laravel、yii这些,有些框架确实值得去学习、琢磨。人家是怎么把这些东西封装的这么好的、用起来这么方便、优雅。

3、设计模式

为什么要单放在这里说呢,首先我觉得这是我这两次面试都问到了的焦点问题,而且也是一个程序员该掌握的部分。php的设计模式有很多,但是目前对我个人来说。需要熟练掌握并理解的我觉得几个常用的就够了。单例模式、工厂模式、观察者模式,而且一直通用的设计模式很多语言思想上都是一样的,只是实现方式不同而已。具体内容这里放个链接吧,也是我关注了有两三年的一个博主,也是大佬。白俊遥设计模式

4、php与zend关系,垃圾回收机制

其次是mysql相关

1、基础语法

基本curd操作,子查询,常用的关键字 group、having、distinct 、union、union all 。函数 sum、max、min、avg、count、trim组合等等

2、索引类型和使用场景以及注意事项

3、mysql的优化方案,

4、读写分离,主从实现原理

5、其中几个大版本区别,以5.7为中间基准的上下版本区别

然后是redis相关

1、数据类型,应用场景

2、两种持久化类型、原理以及区别

3、垃圾回收机制

4、使用注意事项,雪崩、击穿等常见问题原理以及处理方式

5、数据存储方式,运行原理机制

此处可详见我其他博文,有相关整理,另外附上我觉得写得很好的一个大佬的链接  redis百科

网络、服务器、计算机基础相关等杂项

1、网络相关

http三次握手、四次挥手,流程及原因。三次握手有可能产生的问题,synflood,攻击原理,解决方案 syncookie防火墙、防火墙原理。http网络请求的生命周期、流程。

2、nginx相关

nginx正向代理与反向代理的区别,反向代理写法,nginx日志文件分析,nginx做图片服务器用法(这个我也是第一次听说,可以稍微去了解一下,不是必会的)

3、负载均衡实现方式

粗劣理解:一台转发用的前置机,多台web服务器,根据前置机转发规则,把请求分发到各个web服务器上,使用负载均衡的web项目需要用到session共享,常规来说也就是redis储存session。

4、计算机基础

常规计算机进制转换规则,什么是补码,反码。什么叫IO,IO多路复用技术以及epoll(redis方面用法)

5、linux基础

基础操作这里就不多加赘述了,crontab定时任务的使用、环境变量配置、编译安装以及配置php、mysql、nginx等等服务端常用软件的用法、基本shell脚本的编写,如果不会写,起码要看得懂、有兴趣的童鞋可以去了解一下黑洞文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值