回复内容:
问一些日常的正常的PHP问题,主要是考察应聘者的认知:- 一个包含中英文的字符串如何获得它的自然长度(看看ta是否有encoding的知识和意识)
- 问一问什么是ORM,有时候会问这个词的英文全称是什么,问问ta对于ORM有什么个人的看法?(看看ta学习细不细,有没有技术判断,PHP开发人员应该知道什么时候使用ORM)
- 问一问假如ta要自己去实现一个framework,ta会怎么设计。(看看ta对代码架构的理解,对MVC的理解)
- 问一问framework设计里的url dispatcher他会怎么考虑。(HTTP知识)
- 问一问ta对框架本身的看法
- 了解一下ta对Design Pattern的认知,比如Singleton,Observer,Factory等常用的设计模式,问一问ta对设计模式本身的看法。
- 问两三个数据库设计的问题
- 问几个前端的问题,哪怕ta的职位是PHP开发人员,好的PHP人员不可能不了解前端,而且很可能很了解前端
- 问一问ta对noSQL的了解情况(对与noSQL的认识是和传统Relational DB的认知是分不开的)
- 问一问ta碰到问题时候会如何去寻找答案
- 问一问ta习惯使用哪一个搜索引擎(如果是http://GOOGLE.COM就有加分)
- 问一问ta最近看的书
- 问一问ta的职业规划,喜欢做什么,对工作环境有什么要求
很多公司的技术人员招聘会刻意追求刺激的问题,比如很著名的微软的“下水道的盖子为什么是圆的”,不是说这些考察毫无道理,但更多的是一种“marketing”的手段。
Modern PHP / 中文版 / http://jump.im/i6 解决实际问题的能力,比现有的能力更为重要。PHP 是一门简单的语言,关键还是在于对实际需求的解决能力。问一些你遇到过的或者经验性的问题更重要。考什么算法。。之类。。崩了~ 分享一个整理的Lamp(Linux+Apache+Mysql+PHP)开发技能表,之前给社团做PHP的同学准备的。目前还不是很完善,后续会有补充。
http://blog.goody365.com/lamp/Lamp%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E6%8A%80%E8%83%BD%E8%A1%A8v0.html 好吧,对于楼上众位的问题,我有一半以上的答不上来.
面试者向来很就主观,而且都喜欢以他所熟知的领域或者知识点来刁难对方.无论你怎么问,他的知识范围和你的知识范围并集定是少之又少(除了php基础).但是考基础的语法,又体现不出水平.除非他知识面极广,这样人早有成就了.
<span class="x">echo '1'.print(2)+3;//这种代码很多人平时都不会用到.但查手册便知</span>
我说点自己的经历,跟楼主的问题不太相关的。当我刚刚来到这个公司的时候,我投了简历,然后来面试了。结果,老板根本没有问我技术的问题,只是问了我一下学习经历的事情。我当时也很奇怪啊,后来在公司里面呆的时间一长,才发现,原来老板不懂技术。然后来了之后,刚开始三周,啥都没有干,没有人给我说任务。后来,就给我一个网站,然后给我一个参考网站,让我用thinkphp改造一下这个网站,中间都是我出现一个问题,然后解决不了,我就去找同事帮忙。老总说是有人带我的,结果最后还是我自己吭哧吭哧的把代码写完了。现在想来,我就是把代码熟悉了一遍,感觉有点囫囵吞枣,根本,有的代码是啥意思,我都还没有搞透。现在想来,是不是,我的基础太薄弱了。。。
1,解决问题的能力和掌握的知识,看你招聘的目的而决定其二者的平衡。了解流体力学的确会对通下水道有很大帮助,但流体力学专家未必都会疏通下水道。2,创造力,一个没有自己作品的程序员不是好程序员。编程跟写作一样,最终的目的不是敲字,而是完成作品。有人用windows图画板画蒙娜丽莎,而有人用ps就只能调调颜色,画几条线。二者的区别就在于创造力,而不是各自都会什么工具(或者懂什么知识)。
3,自学能力。编程界每天都在产生新鲜的东西,愿意自学和主动寻求新东西,会在将来的工作上事半功倍。
4,人品。这点会大大影响后期的团队维护成本。
5,代码的优雅。不在乎大括号在上还是在下,不在乎等号左右是否有空格的程序员,一定是不够谨慎、粗枝大叶的程序员,而有代码洁癖的程序员会不断挑战自己的代码,让自己的代码日趋优雅。
6,文档习惯。喜欢查阅文档,喜欢记录文档。这是团队协作与后期维护必不可少的能力。
7,足够聪明,话少。表达能力强的人,一般都不适合当程序员(大脑神经通路的影响),除非是头脑特别好用的人,但这种人很难遇到。
下面再列些我认为比较糟糕的面试,如果面试的朋友遇到这类面试,可以考虑直接走掉:
1,出各种古怪刁钻的程序题,而且要求面试者徒手解答。人的大脑是有极限的,记了琐碎的东西,肯定就装不下更多重要的知识。
2,考察的知识点凌乱繁杂。根据经验,这类公司最后的聘用薪资都低的可怜。
3,面试官盛气凌人、轻视、频繁质疑(或者频繁确认)面试者所阐述的内容。物以类聚这个成语同样适用在职场,如果你不喜欢他或者他不喜欢你,直接放弃吧,不要为难对方和自己了。 作为公司的电面和初面的面试官,说说我个人的方式,在这之前有一个背景,就是我要招聘的人是什么人,不同的人不同的面试方法。
另外,个人觉得没有PHP工程师这一说法,PHP工程师意味着知识面一定是要比较广的。
技术线(偏深度):
1. 基础知识,比如数据结构,多线程,I/O,Http协议等
2. 语言深度,比如PHP的运行机制,性能优化,APC(以及其原理等)
3. 源码阅读,比如看过哪些框架,其中的机制是怎么样的,往细了问
4. 知识宽度,静态语言,比如C、Java等,我始终觉得只会一门语言不是什么好事情
5. 项目经验,做过什么,是否复杂,负责什么,做了什么
6. 设计,这一点和第五点比较类似
业务线(偏能力):
1. 业务能力,也就是之前做过的项目(担任的角色,负责的部分)
2. 沟通能力,这一点能从沟通中就看出来
3. 主动性,之前主动推动的事物等等,哪怕是一个小的点也可以
4. 抗压能力,之前做过的项目中去挖掘细节
5. 技术宽度,了解不一定要深入,我一般会问一些比较泛的,比如多语言,Linux操作,HTTP协议等
一定会问:
1. 有GitHub或者Blog(技术热情)
2. 离职原因和同事相处(你懂的)
3. 业余时间利用(技术热情) 新手重点笔试基础
中级重点问一些功能方案,效率,模式,算法之类的
高级重点谈谈经历 架构 负载的处理等等
然后就是相亲了,看缘分 前端:
Doctype的作用。
如何隐藏超出对象部分的内容。
Name,ID有什么区别。
怎么使用jq,jq如果要是和其他类库冲突怎么办?
charset=utf-8一般写在html什么位置?
客户端的对象资源缓存问题。
如何隐藏一个对象。
Js url怎么传递中文?
http的header里面有哪些东西?
习惯使用什么工具作为前端调试?
举例说说IE和其他浏览器几个不兼容的地方。
Ajax的使用。
会不会SEO
PHP
PHP有什么东西可以提高运行效率的。
PHP如何防止注入
会使用哪些模板
如何防止一些关键php页面被下载
会不会memcached
如何防止XSS攻击?
正则表达式
Mysql
哪几种类型的存储引擎,各有什么优缺点
平时写sql语句要注意些什么
你认为的一般性系统瓶颈出现在哪些地方?缓存,数据库,php,前台。
如何优化他们。
额外:
SEO,网站分析,用户体验。
中级php程序员
- 基本技术了解
- 数据库的基本感觉,如何优化
- 熟悉的框架,MVC的理解,对象
- 代码安全因素
- 缓存技术的了解,memcached等
- 高访问量的解决方式
- 平时解决问题的方法
- 技术积累经验
- 错误经验分享
- 成功经验分享
- 对前台和服务器的了解程度
- 基本脚本和ajax的使用
- lamp环境的了解
- linux服务器
- svn方面

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器