为什么要招应届生?

不是因为便宜,有人说还没跳过槽的人忠诚度能搞些,这也不尽然,有些人没经受过工作的压力,总以为自己碰巧找到个压力大的工作,换换会好些。我的原因是……应届生好调教。在他们没有被各种枯燥乏味的工作折磨的以为写程序本来就这么 SB 之前好好洗洗脑子。


1、2、3 是基础题,4、5、6 问的是数据库操作,7 算是综合能力吧。


1. 进制运算

可以是让他模拟一些简单的字符串函数,类似 bin2hex、base_convert、base64_encode,或者单纯的,让他手动算一下 7 进制的 54321 显示为 9 进制是多少。

应该高中或者之前就能接触到 2 进制 10 进制之间的换算了吧,当然,他当时很可能没听懂。通常的情况,如果以前没留意这个问题但有理解能力的,可能能在几分钟的做出一些成功不成功的尝试。至少不应该很茫然。最糟糕的情况,连整数的最大值是多少都不知道,那就算了。


2. 描述一下常见的关于读取文件内容的操作,及各自的特点

应该不用迟疑太久就把 file、fopen、file_get_contents、readfile 列出来。表现好点还可以提下 readfile 的流式读取不占内存之类的。如果看的教材太老,可能只会说 fopen。最糟糕的辩解是不说跟数据库打交道比较多,文件操作没怎么接触过,完全无视文件静态化的存在。


3. 怎么模拟一个 POST 表单提交

答 socket 或者 cURL 都可以。


4. 列举一些常规优化方式

正确索引(就不强求完全理解多列索引了,最好能知道每个查询只能用到一个索引),知道索引提高查询速度、降低插入速度。正确的字段类型(能知道 char 和 varchar 的区别和优缺点)。text 类字段可以单放一个表用主键关联。总之他能说的越多越好。顺便问问他他所知道的最大处理能力是每秒多少条,哪怕是测试环境里的 benchmarking(今天看到份简历,号称三年工作经验,将半个月三万条插入形容为他所遇到的最高的负载,写在简历的醒目位置)。


5. “你知道,把时间存在数据库里有两种方法,一种是用时间戳,就是 PHP 函数 time() 产生的那种整数,另一种是 MySQL 里字段类型设成 datetime。那么,为什么一定要后一种方式?”

最简单的一个例子,如果存的是时间戳,你无法按类似“所有周三的数据”这种方式显示内容。这表明了他的学习阶段:是否接触了类似日志分析类的东西。因为这些是早晚都要接触到的。


6. 简单联表查询

有这么两个表

user 表:

id  name
1   张三
2   李四
3   王五
4   赵六

apple 表:

id  user  number
1   1     5
2   3     3
3   1     8
4   4     6
5   3     2
6   4     2

apple 表的 user 字段跟 user 表的 id 对应,一条 SQL 语句查出每个人都有多少苹果

如果他不知道 join,可能会这么写

SELECT user.name, SUM(apple.number) FROM user, apple WHERE user.id = apple.user GROUP BY user.id

正确答案应该是这样

SELECT user.name, SUM(apple.number) FROM user LEFT JOIN apple ON user.id = apple.user GROUP BY id

这两条语句的差别是,不用 join 无法显示出李四有 0 个苹果 -_-


7. 假设我们要做一个公交系统的常见服务,就是做查公交车怎么倒车的。假设完全由你自己来搞,我只关心最后结果,你会怎么做这个项目。说的越详细越好。

可能需要不断提示。考查一个人的做事能力,比方说他首先会想到需要数据,数据库应该怎么设计,有几个表,什么样的字段。
可以加分的地方可以有这么几个点。给站名编 id,匹配数字的速度要远大于匹配字符串。站点之间要距离的数据,这样计算最优倒车路线应该能考虑到站数,倒车次数、距离等权值。如果很有远见,任意两点之间的数据应该是提前算好的,比方说有 200 条公交线路和 2000 个站点,始发终点的组合可能是 2000 * 1000,每种线路可能有 1 - 6 种方案,有个表是来装这近一千万行结果的,如果有线路变化,再用本地的机器重新算一遍线路。这样整个系统才有实用价值。不然可能每次查询都需要耗费数秒或者更长时间,只能当单机软件用。


这些题本身是交流的话题,而不是“做对 5 道以上我就招你”这种门槛。我面试时每道题都会给予充分的时间,如果他做不上来,也起码能判断他的思考方式,而忌讳说“如果你不知道就明说,咱们赶紧做下一题”。同时也能观察出性格等方面。比方说第 6 题,有人把 SUM 写成 COUNT,我就问他你看看前面写的是否有问题,同时又怕太明显,又补充一句“也可能什么错误也没有、我在误导你,你自己判断”,于是他就不再理会、继续接着写完整个 SQL。再综合他的其他一些表现,我的结论是此人主见极强的,我不会用。属于出了 BUG 第一念头是 BUG 在解释器上、做出来的程序跟产品需求不符时会说是你产品没说明白的那种。相反,我很欣赏那些在做完第一道题的 7 进制转换后还知道验算的,因为既然是笔算就很容易出错。我觉得这种人思考严谨、负责任。

其他的一些知识,比方说 memcache、SVN、单元测试这些,都属于经验问题,应届生很少需要接触到这些东西(甚至文件静态化也很少碰到),不像上面,我需要以此来判断面试者对编程是否已经入门。

还是一句话,团队需要两种人,要么NB 的,要么听话的。

PHP招聘:如何面试应届生求职者相关推荐

  1. 阿里巴巴集团--软件测试--《社招、校招jd、公司具体介绍,校园招聘公告,应届生招聘流程,技术培训,薪资福利》整理

    阿里巴巴集团 终极目标 目录 社招jd 校招jd 附件(公司具体介绍,校园招聘公告,应届生招聘流程,技术培训,薪资福利) 阿里巴巴社招:https://job.alibaba.com/zhaopin/ ...

  2. 阿里巴巴python招聘_作为应届生,我在阿里巴巴的成功面试经历!

    我找工作时是2019年. 那一年,BAT大量缩招,就业形势严峻,互联网寒冬消息蔓延. 最终我经过激烈角逐拼下了几个大厂offer,回顾往事,觉得分享出来,也许对你能有所借鉴. 1.简历 这一年的7月初 ...

  3. 任正非:明年至少招聘 8000 名应届生,华为人才将分为三类

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 2020年10月27日,华为创始人兼CEO 任正非在研发应届生招聘座谈会上发表了题为<人才很关键,面试很重要>的讲话 ...

  4. 计算机应届生理论知识面试,计算机应届生面试技巧

    计算机应届生面试技巧 应届生求职必然遇到许多面试问题,如何把握面试技巧很重要了,下面是小编帮大家整理的计算机应届生面试技巧,希望大家喜欢. 面试是应届生求职过程中最重要的阶段,面试成功与否直接关系到你 ...

  5. 03【应届生精准求职】如何准备面试?校招流程,零经验如何面对?看穿面试官背后的套路?面试类型?如何谈薪资?接受或拒绝offer?

    应届生如何准备面试? 如何准备面试?校招流程,零经验如何面对?看穿面试官背后的套路?面试类型?如何谈薪资?接受或拒绝offer? 第一节 校招选拔流程 1,互联网公司为例 研发类:技术,产品 非研发类 ...

  6. 应届生去软通动力怎么样_超强干货:应届生如何找实习工作?

    在这金九银十的季节,很多应届生都在忙着秋招. 不管是宣讲会还是招聘会可能都跑了个遍. 因为每天有很多应届生咨询我求职的事情. 今天索性就用一篇文章争取为大家讲透应届生如何找实习工作? 其实对于应届生来 ...

  7. 测试上路2年,你处于什么阶段了?不醒着拼,你连应届生都比不过...

    时间so快,一晃大学毕业两年了.从实习到现在,进入测试行业算起来也有整整两年了.两年时间终于从一个小菜鸟变成了中级菜鸟,继续要在菜鸟的路上奔跑! 简单回顾这两年,从电脑应用自动化到网页自动化再到app ...

  8. 实习生、应届生、三方协议、实习协议、劳动合同的区别

    一.应届生与实习生的区别 应届生--毕业的最后一年,而校园招聘会招聘的就是应届生,通常来的都是有实力的企业,通过网申.笔试.技术面试.hr面试等,你大概率就算是企业的人了,只要最后考核过了就算正式员工 ...

  9. 7位应届生讲述就业难:面试20多家公司,甚至当了保安

    燃财经(ID:rancaijing)原创 作者 | 周继凤 唐亚华 黄丽梅 梁丽爽 孟亚娜 苏琦 金玙璠 编辑 | 金玙璠 年年都喊就业难,今年是不是比往年难? 猎聘大数据研究院今年4月发布的< ...

最新文章

  1. POJ 2229 Sumsets
  2. 记录某一天安服仔的漏洞挖掘过程
  3. SAP OData服务的catalog service
  4. linux c之孤儿进程与僵尸进程[总结]
  5. 新疆大学ACM新生赛(公开赛)
  6. 将IDE检查应用于自定义Java批注
  7. Mybatis源码分析之(五)mapper如何将数据库数据转换成java对象的
  8. python列表数据类型(一分钟读懂)
  9. ubuntu如何完全卸载和安装 Java及android环境
  10. javacv教程文档手册开发指南汇总篇
  11. selenium 在pycharm中安装selenium
  12. [SPDK/NVMe存储技术分析]015 - 理解内存注册(Memory Registration)
  13. matlab受力分析,基于Matlab的多支座蒸压釜的受力分析和强度计算
  14. 十分钟带你解读什么是Promise异步编程
  15. 小程序:npm下载使用weiui
  16. linux脚本除号,Shell脚本编程(上)
  17. 万得-python接口-获取数据
  18. 【小树T系列3D打印机安装教程】
  19. 6、英飞凌-AURIX-TC3XX: PWM实验之使用 GTM -ATOM 实现
  20. 【MSSQL】SQL SERVER导入中文乱码问题解决

热门文章

  1. 本地存储(Local Storage) 和 会话存储(Session Storage)
  2. Redis 6.0删除节点
  3. AVD Nexus_5X_API_P is already running. If that is not the case, delete the files at ...
  4. Vue css最高优先级
  5. 基于stm32的智能小车设计(一)
  6. SCI论文发表中需要经历哪些过程?
  7. Python--break语句
  8. DSP TMS320F280049C——互补波形(一)
  9. 记录一个错误,Studio中导入model不显示
  10. 人力资源管理七大问题