回复 441535 与 《面试面什么、怎么面、常见错误》

2018-03-26 18:59:36 +08:00
 imcnan

原贴在这: https://www.v2ex.com/t/441535

我看了每一条回复,没想到大家瞬间回复了这么多。

针对评论的回复

观点 1:没必要造轮子的

答:我是为了面试,不是为了造轮子。

观点 2:记住(或者依稀记得)参数、返回值有什么用的。

答:🙄呵呵

观点 3:这题太难的

答:1 ) 我出的笔试题,最终都不会只看完成情况。2 )期间可以上网,大家都是面向 Google 编程的,这点没什么。

观点 4:又没给人家开 7W 工资

答:我那说的是趋势,指的不同的方法在日积月累后带来的区别。


2013 年的时候,我当时针对 PHP 出过另外一道笔试题,推荐给看一下,我觉得现在也没有落伍:

http://www.cunmou.com/php/a-bishiti.md

和大家分享一些我面试中的经验:

未必适合每一个人,大家看看就行了。

1. 面什么?

2. 怎么面?

3. 常见错误

我临时手打的,没怎么整理,如有错漏多多包涵,如有建议可以邮件联系: 4416@cunmou.com

3494 次点击
所在节点    程序员
17 条回复
kunluanbudang
2018-03-26 19:18:38 +08:00
写得很好

我咋就没碰到楼主这样的面试官呢,
Rubicker666
2018-03-26 19:27:52 +08:00
我记得我还 4 vs 1 过 😂
pkookp8
2018-03-26 19:34:27 +08:00
写的挺好的,特别是"怎么面"
MeteorCat
2018-03-26 19:42:04 +08:00
我个人感觉面试本身就是个双向学习的阶段,一方面面试官可以解决面试者一些存在的疑问,比如以前最开始时候不知道什么是惊群,如何处理,我当时也是很蒙的,但是面试官给我细细说明和解答;我感觉这种救挺不错的,面试官和面试者不应该是对立者,而应该是技术探讨者;我看 V2 这里很多人常常把面试官和面试者对立起来,我感觉挺怪异的,因为你早晚会成长起来,你终有一天也会从面试者的角色变成面试官
achenme
2018-03-26 19:52:13 +08:00
for 和 foreach 的问题,搜索了一下。和 lz 的结果相反。不知道谁对的:)

http://www.jb51.net/article/107514.htm
Immortal
2018-03-26 19:53:12 +08:00
能 google 那就没什么好说的,之前也以为 lz 意思是让人纸上写代码似的,给个不能上网的电脑直接写。
能解决问题,然后解释清楚实现思路和理解就好了,或者说面试时候根本不会,google 后学会了也没什么问题。

支持 lz,毕竟现在 it 环境鱼龙混杂,面试这些总比问你 http 的 get 和 post 有啥区别来得有营养的多。
zpxshl
2018-03-26 22:21:11 +08:00
遇到过一个面试官,问了我某知识点,我答没研究过。于是他让我现场打出和该知识点有关的 demo,可谷歌。 这种面试技巧确实厉害,能看出一个人的学习能力如何。
jhdxr
2018-03-26 22:28:24 +08:00
看了一眼连接中的题目,4 年前者题目尚可(虽然对其中部分点不同意,例如 for 和 foreach ),但放在现在我觉得明显是过时了。

1. 首先数据库操作现在主流使用的都是 PDO。如果不是为了异步的操作(真有人在 PHP 里这么干?),我实在想不到用 MySQLi 的理由。
2. count 提到循环外这种做法现在并不是必要的,在启用 OPcache 的情况下,有些在编译时能够确定的值是会直接优化掉的
3. 另外,不管是出于安全还是出于性能(大批量数据插入),居然考虑的依然是如何手动的安全的拼接 SQL ???不应该用 prepared statement 么???这点哪怕放 4 年前,只要你用的是 MySQLi 就应该考虑到这点啊。。。除非是从老的 MySQL extension 迁移过来的。。。
imcnan
2018-03-26 22:51:56 +08:00
@jhdxr 当然应该用参数绑定,不过当时我并不知道,我没有系统的看过 mysql 文档,所了解大多来自于学校时看过的一本书。
murmur
2018-03-26 22:53:42 +08:00
大多数技术岗,用 Linux、Mac 的胜于用 windows 的。
不愧是 i2ex
msg7086
2018-03-26 22:58:07 +08:00
4 年前还在手拼 SQL,哇塞,贵司 PHP 水平这么可怕吗?
我 10 年前用 PHP 写毕设项目已经全部用的占位符传参了。

Query 前没有 SET NAMES ?
难道 MySQL 服务器配置文件里不先写上字符集?你们运维都喜欢给 MySQL 设拉丁一吗?

贵司还是多招点 7w 工资的人吧,看不下去了。


问题 请找出下面代码中的问题,修复并优化。
答案 什么瞎瘠薄写的代码,打回去重写啦。这代码可维护性为 0,工作中这么写怕不是会被我打死。
LosLord
2018-03-26 22:58:30 +08:00
Windows 招你惹你了,php 和 java 啥的跟系统也无关啊
moult
2018-03-26 23:10:53 +08:00
$mysqli->query("SELECT * FROM `demo` WHERE `uname`=$info['uname']");

我们先不说 statement 的问题,也不说参数过滤的问题,等号后面的值没有引号,这个怎么都跑不通啊。难道 uname 和 email 都是数字?
ovear
2018-03-26 23:36:53 +08:00
本来打了一堆,想了想还是少说两句好
惹不起,溜了。
sagaxu
2018-03-27 01:55:07 +08:00
楼主黑 PHP 黑的漂亮
l00t
2018-03-27 09:38:22 +08:00
你面试别人要求别人看文档,乃至背入参出参。你自己出个预设答案和 MySQL 有关的题自己却没看过文档……
wlzcool
2018-03-27 10:11:20 +08:00
@l00t 面核入拧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/441580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX