面试php工程师出什么考题好?
回复内容:
1 介绍自己过去工作中,或学习中,最能体现自己价值的成就。-> 等介绍完后,这个成就实现时,遇到过怎样的困难,如何解决的。
2 解释一下SQL注入的原理及危害,假设这里有一个不严谨的登陆程序,如何利用SQL注入进入。
3 解释一下跨站脚本的原理及危害,假设这里有一个不严谨的留言板,请构造跨站脚本范例。
4 解释一下数据索引为什么能提高效率。
场景SQL select * from user where area='广州‘ and sex='女‘ order by lastlogin desc limit 30;
如何设计索引?
现在有10万条 IP地址对应区间表,格式为 startip, endip, area
要求每个用户访问时都能快速分析出对方地区,请设计实现。数据库或不用数据库,要求每秒钟实现超过千次的查询。
基本上到这些对我而言就已经足够了,如果上面题目特别满意的,再附加
5 现在有一个屏蔽词列表,大约几千个词;假设有一个繁忙的论坛社区,发帖量巨大,要求用户每发一篇文章就要快速分析是否包含屏蔽词,请给出程序设计。
6 一个游戏网站,有数千个小游戏,每个游戏要做积分排行,数据结构如下
gameid,userid,gamescore
每天数百万积分提交,数据量巨大,目前要求分库处理。
要求,可以基于每个游戏id可以查询积分排行榜。 可以基于用户id查询,比如自己或好友的历史游戏积分记录。请问如何处理分库。
最后,你有什么要问的? 上面匿名用户整理的挺全的,值得参考。
工程师能否胜任某个岗位很大程度上受专业程度、周边知识、沟通能力、主动工作的意愿等多方面因素影响,对每个Team来说需要考核的重点是有区别的,一般会在面试过程中根据实际情况组合考察。
专业程度体现在对PHP的基本功的掌握和一些进阶知识的了解,比如对常见性能点、不同版本特性等,session的实现机制、include/require的差异,进一步的主流框架掌握程度、常见的性能优化策略、其作为脚本语言所具备的一些特性、如何规避PHP的性能劣势打造高并发的系统、如何保证高并发下的可用性和数据完整性等等。
周边知识主要会包括MySQL性能优化、Memcache使用、Nginx/Apache的配合、对于PV/Click等数据收集和观察的方法等。 同样的,利用curl/socket操作http/tcp/udp,进一步的RPC调用(Web Service/JSONP/Thrift等)的前后端实现,进一步的包括更多的Cache策略(远近、一致性哈希、数据一致性)、对Sharding即分库分表之类操作的了解、更多NoSQL产品知识、各类常见协议细节、安全性(注入和旁注、跨站和CC)等。
沟通能力从“简单介绍下自己”、“说说你在最近参与的项目中所做的事情”开始,根据其回答,进一步细化到考察是否能和业务部门、产品经理、运营人员自如沟通的“需求总是变更怎么办”、“怎么看待业务人员或产品经理提出的似乎并不合理的需求”、“作为一个开发人员,如何知道自己参与的某个项目在用户眼里做得好不好”等;考察团队领导能力的“作为一个小团队的Leader,你觉得带好团队最重要的点有哪些”、“团队里的工程师总是晚来早走/开小差,做为主管怎么处理这些问题”、“被分派到一个重要项目,如何激励团队尽快完成项目”等;考察其作为工程师个体,是否具备更全面的视角(从产品、设计、业务等角度看待问题的能力)的“让你运营一个论坛系统/企业微博账号,你会怎么做”、“作为一个XX产品的工程师,如何从技术的角度帮助运营人员提高ROI”等;考察发现和总结问题能力的“我暂时没有其他问题了,你有什么问题需要问我吗”。
主动工作的意愿则往往是通过了解其对加班的看法、对代码质量的态度、如何提高团队工作效率、对其参与的项目的一些细节的追问、如何提高参与的项目的代码质量或运营产出、个人兴趣爱好、以往的得意之作等侧面的了解。 谢邀,在公司作为面试官只面试过初中级水平的PHP程序员,对他们的要求基本上是能够干活,高级的PHPer的面试需要面哪些知识点我并不是很有经验,在这里只谈一下面试初中级别的PHPer。
先做一套面试题,题目基本上是基础的PHP语法,数据库设计和数据库优化,Linux基础,会在最后涉及一些深一点的内容。
根据简历和面试题的答题情况,针对他熟悉的项目进行深入。比如他做过用户相关,那我就问问session、cookie区别;实际用户登录时客户端和服务器端发生了哪些事情;改写过session 的存储吗;数据库设计是什么样的;密码怎么处理;怎么实现一个定时退出的系统等等。如果用过框架,那就问问对于mvc模式有自己的考虑吗;路由的原理是什么。。。
基本上根据答题情况,能够筛选一些还可以的PHPer,但是实际效果还是有一些不足之处。我以前招进来一个同事,面试的时候面的头头是道,但进入具体的项目中,对业务逻辑的理解让人抓狂,出东西慢并且代码写的很不好。后来就增加了一些针对业务逻辑的面试题,并且要求面试人员手写一些代码。
感觉我的答案可能不对题啊,更像是对如何面试PHPer的答案。 我咨询了一下我身边的一位很牛PHP程序员,他也是我的面试官,他的回答如下(非原话):
1.PHP基本功,字符串与数组
2.网络功能,发起curl,socket编程等
3.对网络开发的理解,tcp/udp, http 协议的讨论
PS:对具体函数的掌握要求不高,反正可以查手册。
---------------
以上 0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作?
1.看看简历,会问一些过去做的项目的用户量、pv、吞吐量、相关难点和解决方法等
2.数据库设计经验,为什么进行分表? 分库?
一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明
3.数据库优化有哪些? 分别需要注意什么?
4.web开发方面会遇到哪些缓存? 分别如何优化?
5.给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?
对10G的文件进行查找如何实现?
统计10G文件每个关键字出现的次数如何实现?
6.假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?
7.假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?
8.如果你是技术组长,所带团队任务进度无法完成你该如何解决?
如果在进度排满的前提下插入任务,你该如何保证总进度不延期?
如果有的工程师今天预定任务没有完成,你该如何解决?
9.从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?
10. 为什么要对数据库进行主从分离?
11. 如何处理多服务器共享session?
12. 一个10G的表,你用php程序统计某个字段出现的次数,思路是?
13. 会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?
14. 给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?
15. 给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?
16. 给你一个url,在nginx配置一下rewrite指定到某个具体路径?
17. 一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?
18. session和cookie生存周期区别? 存储位置区别?
19. require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?
20. chrome号称为多线程的,所以多线程和多进程的区别为?
21. php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?
22. web不安全因素有哪些? 分别如何防范?
23. 假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?
24. 假如你是技术组长? 如何提高团队效率?
25. nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?
26. 不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?
27. mysql 数据类型有哪些 ? 分别占用多少存储空间 ?
28. nginx设置缓存js、css、图片等信息,缓存的实现原理是?
29. 如何提高缓存命中率? 如何对缓存进行颗粒化?
30. php的内存回收机制是?
31. 我的所有问题都问完了,你有什么问题问我没有? 不太认可目前排名第一的答案,有些问虽然面试的时候不知道,但是可以Google的啊.难道考历史的时候,问:曹操出生于哪个时辰? 能够知道的算是历史了解得多吗?不一定吧.
我觉得,一个程序员的能力,是如果把具体的问题抽象出模型来. 把公司遇到过的问题或业务由易到难各抽一些,让面试者提出解决方案或思路。 感觉不要面试什么过于理论的东西
而是解决实际问题的能力! 面试php工程师取决于面试官的角色
1,面试官是业务面试官还是hr。两个角色的思路和方向是不同的。
2,业务面试官的考题应该是针对专业技能方面。通常是由同岗位专业技能较强的同事来放任或是业务主管。但注意面试是为了了解对方的技能结构而不是要考倒他
3,hr方面则是从求职动机,期望的工作环境薪资待遇是否和公司匹配,注意用工风险方面。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
