Heim >Backend-Entwicklung >PHP-Tutorial >前天面试一个php17k薪水的程序员,项目经验蛮牛B的,这些基础的都不会。

前天面试一个php17k薪水的程序员,项目经验蛮牛B的,这些基础的都不会。

WBOY
WBOYOriginal
2016-06-23 13:42:271299Durchsuche

前天面试一个17k薪水的程序员:项目经验还是蛮丰富的,工作10年,项目经验有几年了。
  我简单问几个问题:居然都不会。你们觉得难么?不能百度哦。
     1、什么是可变变量
     2、什么是自连接
     3、html动态生成的代码,如何绑定事件。
     4、jsonp跨域做过没有?

----------------------------------------------------------
    上面一些问题都不算很难,本人做项目一年3个完全不同类型php项目,几乎每一个项目都有用到上面4点。而且用得极为频繁。
一个10k4年工作经验,一个17k的近10年经验程序员,前者全部没有听过,后者17k听过但一个也没有回答正确。
            当然,上面4点,你可以不用。但每一点都是在追求用户体验时必须要实现的。只要有好的体验,上面4点缺一不可。
           没有用到以上4点的人,要么水平还很菜,要么只是在打份工,没有用心考虑用户,不动脑子。

           比如第3点。不会就不能点击,给用户体验造成很大问题。技术人员不想思考,直接回复。用户要求不能实现,是无理要求。  

            可变变量是一个很基础的东西。但却是极为强大的东西。也是过去高大上的功能,就是多态。
            多态,就是在运行时刻才决定执行什么。过去要高大上的设计模式才实现的东西,在php里犹如定义变量一样简单。
            (C++的多态,多牛B的东西,俺从1998年开始学C++,直到2003年才略懂)
 


回复讨论(解决方案)

学C++时,C++primer看了2年多1千多页,几百个熬夜才看完的。真是辛苦。

在中国,不是每个人都在全身心研究技术。因为环境导致的。
技术到一段时间后,都要向管理层发展。如果不向这方面发展,你的薪资是不可能涨的。
所以。就会出现你遇到这种情况,这是没办法的事。

在中国是 销售员当老板,技术靠边站,没你我在找其他人,人多的是。还有好多老板都是闲着没事干,瞎指挥(不懂在那瞎弄)。
也许以后会慢慢改变这些人的想法的。
国外就不一样了。

如果你要招纯技术的,就要把招聘说明写明白。
现在纯技术的,在中国你能招到10年的,比大熊猫还珍贵。
如果是国外,遍地都是。环境不同,企业文化也不同。

中国有创新有思想的人很多且特别多,可惜没钱,没人投资。
有人投资了,还要受老板限制。
中国的那些老板都是要短期内见效果,不懂得 养肥了再杀。
也许若干年后会改变吧!目前就是这个样子的。

我也是工作了十年的,楼主说的那些四个全都没做过,三个没听说过,只有最后一个听说过没做过。
我基中在一个公司做过四年,另一个公司做过五年,每天都是差不多的重复劳动,没怎么接触新东西和新需求,每天做的也都差不多是同一种类的网站。

恭喜,楼主赢了

笫1条我理解就是对象工厂,或者是变量的变量,用的最多,第3条用过1次,2和4没听过

如果可变变量就是重载,我项目内用的也不少,定个基类然后继承重载

记得看过一篇文章,内容是教人怎么管理人才的,其中就提到面试技巧!里面说到的一点我非常认同,就是面试官要想办法给一个宽松模式,引导面试者展示自己的实力,毕竟以后是需要用他的能力来工作,而不是想一些偏门蹩脚的所谓基础知识来问倒面试人员来显示自己多么强大,从而沾沾自喜!

记得看过一篇文章,内容是教人怎么管理人才的,其中就提到面试技巧!里面说到的一点我非常认同,就是面试官要想办法给一个宽松模式,引导面试者展示自己的实力,毕竟以后是需要用他的能力来工作,而不是想一些偏门蹩脚的所谓基础知识来问倒面试人员来显示自己多么强大,从而沾沾自喜!




记得看过一篇文章,内容是教人怎么管理人才的,其中就提到面试技巧!里面说到的一点我非常认同,就是面试官要想办法给一个宽松模式,引导面试者展示自己的实力,毕竟以后是需要用他的能力来工作,而不是想一些偏门蹩脚的所谓基础知识来问倒面试人员来显示自己多么强大,从而沾沾自喜!



遇到过几个自觉特别好的问题
1.讲讲怎么实现一个PHP框架
2.设计整个XX的评论系统数据库、接口和各接口的重要SQL
3.1亿PV的网址设计


记得看过一篇文章,内容是教人怎么管理人才的,其中就提到面试技巧!里面说到的一点我非常认同,就是面试官要想办法给一个宽松模式,引导面试者展示自己的实力,毕竟以后是需要用他的能力来工作,而不是想一些偏门蹩脚的所谓基础知识来问倒面试人员来显示自己多么强大,从而沾沾自喜!



面试官代表一个企业的形象   所以问几个技术性问题也是很有必要的

如果我作为被面试人,遇到这样的面试官,我会问几个自己在行的问题争取把面试官难倒。

水平高并不代表用过的的新技术多和知道的概念多,也许人家问你几个问题你也答不上来

经验,什么是经验,经验不代表技术,经验就是你需要一星期解决的东西,别人一天就搞定

说不上来不见得实际上不会用,没用过吧?可能是叫法不一样

除了最近经常听人提起jsonp,其实就是老掉牙的动态加载脚本。
其它的一个都看不明白啊,看来我这么多年的web开发是白做了。

工作5年多了 不知道什么是可变变量  fuck

提起这个我就恼火
可变变量和自连接谁不会啊。这么简单你问10年经验的干嘛

另外一个做了10年的人,你应该问他全局观,整个系统层面了。
细节的东西估计都忘记了
我维护了两年sql server,1年mysql,现在oracle
上次去面试那人问我最擅长什么。
我一不小心回答错了,说最熟悉oracle。其实我最熟悉sql server维护,然后熟悉oracle的开发。
但是后来另外一个hr问我,mysql高并发,然后那什么老总问 我有没有遇到什么故障。
我 想了下,oracle最近没发现什么故障。
吗的,其实我搞了2年半故障,什么故障都处理,各种宕机,各种被盗,入侵,服务器抓包分析,协议分析,都处理过。
可惜我就栽了。
还被问到,有进行过rman备份测试吗。
蛋疼,我来了个没有,因为没有把握,我也就独立搭建了几套dataguard,而且跑半年无故障

哎。。。。。我到现在不明白是我技术太菜还是。。。。。。。。。。。。。


说实话这些问题太虚了。你问我什么故障什么故障怎么解决。我能给方案。
问我搞过什么也能说出来。
但是问这些破玩意。我真全忘记了
上次还一个公司问我有什么优化经验可以分享下。
我也说不出来,因为项目比较光。
我都是业余学习的优化。呵呵,又栽 了。你妹的

其实我觉得hr需要提前做面试准备,你是要招人才。需要挖掘面试者,而不是在这里发牢骚
一个10年的人,如果很菜,能混到17k?开玩笑吧,你当人家其他公司是傻逼吗

哈哈, 人家10年经验,是指解决一些问题经验, 实际开发中一般都是套框架,重复工作。 

就好像我们公司上个月来的3年经验的.NET 本科生, 不会自已改代码生成器一样。 

20楼说太简单。但其它楼都说太难。
招聘技术人员,不问技术问题,问什么呢?

to ww_super 孩子,你都不明白人家说的,就瞎喷,不是浪费时间么?你一个月几千元的收入,够花么?

你不是说我不懂技术么?你如果看得懂我写的,你就知道自己一错再错了。

快结婚培养下一代吧。你这辈子,是没有希望了。

除了第一条有技术性,其他只能算是技巧。

我没做过php,做前端的,但感觉后面三个问题都懂。(第二个是指数据库的连接操作吗)

第三个用事件代理就ok了,把事件绑定在外层容器上;
jsonp没什么说的就是一个script标签,src中传递回调方法,后台的js返回为 callback(json)的形式的数据。json padding

楼主可以考虑把我挖走了,前后端都ok

经验,什么是经验,经验不代表技术,经验就是你需要一星期解决的东西,别人一天就搞定



经验!==时间的累积

不思考收获很少

前天面试一个17k薪水的程序员:项目经验还是蛮丰富的,工作10年,项目经验有几年了。
  我简单问几个问题:居然都不会。你们觉得难么?不能百度哦。
     1、什么是可变变量
     2、什么是自连接
     3、html动态生成的代码,如何绑定事件。
     4、jsonp跨域做过没有?

----------------------------------------------------------
    上面一些问题都不算很难,本人做项目一年3个完全不同类型php项目,几乎每一个项目都有用到上面4点。而且用得极为频繁。
一个10k4年工作经验,一个17k的近10年经验程序员,前者全部没有听过,后者17k听过但一个也没有回答正确。
            当然,上面4点,你可以不用。但每一点都是在追求用户体验时必须要实现的。只要有好的体验,上面4点缺一不可。
           没有用到以上4点的人,要么水平还很菜,要么只是在打份工,没有用心考虑用户,不动脑子。

           比如第3点。不会就不能点击,给用户体验造成很大问题。技术人员不想思考,直接回复。用户要求不能实现,是无理要求。  

            可变变量是一个很基础的东西。但却是极为强大的东西。也是过去高大上的功能,就是多态。
            多态,就是在运行时刻才决定执行什么。过去要高大上的设计模式才实现的东西,在php里犹如定义变量一样简单。
            (C++的多态,多牛B的东西,俺从1998年开始学C++,直到2003年才略懂)
 




$$a 这个和$a你觉得有意思吗?都是变量,就像以前没有框架和现在谈论框架一样可笑,都是php封装的有什么可说的?要说的是你的思路而已,就如c++到汇编再到机器码,过程不重要,结果重要,指着别人的同时四只手指着自己,不知道你凭什么有优越感!

提起这个我就恼火
可变变量和自连接谁不会啊。这么简单你问10年经验的干嘛

另外一个做了10年的人,你应该问他全局观,整个系统层面了。
细节的东西估计都忘记了
我维护了两年sql server,1年mysql,现在oracle
上次去面试那人问我最擅长什么。
我一不小心回答错了,说最熟悉oracle。其实我最熟悉sql server维护,然后熟悉oracle的开发。
但是后来另外一个hr问我,mysql高并发,然后那什么老总问 我有没有遇到什么故障。
我 想了下,oracle最近没发现什么故障。
吗的,其实我搞了2年半故障,什么故障都处理,各种宕机,各种被盗,入侵,服务器抓包分析,协议分析,都处理过。
可惜我就栽了。
还被问到,有进行过rman备份测试吗。
蛋疼,我来了个没有,因为没有把握,我也就独立搭建了几套dataguard,而且跑半年无故障

哎。。。。。我到现在不明白是我技术太菜还是。。。。。。。。。。。。。


说实话这些问题太虚了。你问我什么故障什么故障怎么解决。我能给方案。
问我搞过什么也能说出来。
但是问这些破玩意。我真全忘记了
上次还一个公司问我有什么优化经验可以分享下。
我也说不出来,因为项目比较光。
我都是业余学习的优化。呵呵,又栽 了。你妹的

其实我觉得hr需要提前做面试准备,你是要招人才。需要挖掘面试者,而不是在这里发牢骚
一个10年的人,如果很菜,能混到17k?开玩笑吧,你当人家其他公司是傻逼吗



沟通和表达也很重要的,就想你说的,感觉自己很很多,别人问你你会的你都不能很好的表达,这本身也是问题。还是加强这方面的提高训练吧,共勉!

to ww_super 孩子,你都不明白人家说的,就瞎喷,不是浪费时间么?你一个月几千元的收入,够花么?

你不是说我不懂技术么?你如果看得懂我写的,你就知道自己一错再错了。

快结婚培养下一代吧。你这辈子,是没有希望了。


说实在的,以这几个问题来显示自己技术的人,我是真的感觉不咋滴!至少我这个一个月几千的都会3个!真想不通你一个月20w是怎么来的,要不是你老板眼瞎了,要不就是牛全在天上飞了。。。。对了,像你这一个月20w,年薪几百w的大牛哪来这么多时间来我们这个小罗罗的地方和我们这些小罗罗嚼舌根呢!!!!!实在想不通,如果你说的上述情况是真的,那也只能说明你是个奇葩,我真难以想象李开复会来csdn和我对喷的情景,最后呵呵两声,拜拜,再也不会来你的吹nb帖来了,小弟忙去了,你也回家带孩子吧,对了别忘记吃药。。。

卖兰州烧饼?

撸主你就把你开发的框架往csdn上一砸,直接把我砸死吧。17k,20k都是蝌蚪,拿着你的框架,我射的是24k纯金那.....

提起这个我就恼火
可变变量和自连接谁不会啊。这么简单你问10年经验的干嘛

另外一个做了10年的人,你应该问他全局观,整个系统层面了。
细节的东西估计都忘记了
我维护了两年sql server,1年mysql,现在oracle
上次去面试那人问我最擅长什么。
我一不小心回答错了,说最熟悉oracle。其实我最熟悉sql server维护,然后熟悉oracle的开发。
但是后来另外一个hr问我,mysql高并发,然后那什么老总问 我有没有遇到什么故障。
我 想了下,oracle最近没发现什么故障。
吗的,其实我搞了2年半故障,什么故障都处理,各种宕机,各种被盗,入侵,服务器抓包分析,协议分析,都处理过。
可惜我就栽了。
还被问到,有进行过rman备份测试吗。
蛋疼,我来了个没有,因为没有把握,我也就独立搭建了几套dataguard,而且跑半年无故障

哎。。。。。我到现在不明白是我技术太菜还是。。。。。。。。。。。。。


说实话这些问题太虚了。你问我什么故障什么故障怎么解决。我能给方案。
问我搞过什么也能说出来。
但是问这些破玩意。我真全忘记了
上次还一个公司问我有什么优化经验可以分享下。
我也说不出来,因为项目比较光。
我都是业余学习的优化。呵呵,又栽 了。你妹的

其实我觉得hr需要提前做面试准备,你是要招人才。需要挖掘面试者,而不是在这里发牢骚
一个10年的人,如果很菜,能混到17k?开玩笑吧,你当人家其他公司是傻逼吗



这很正常,好不好。你想找个基础非常好的,就去找个刚毕业的,我基础也很差,可我在项目组那是公认的技术牛b

http://bbs.csdn.net/topics/390887828?page=1#post-398200506

我是个PHP新手!
现在我想做一个简单的网站。
自己不想用任何框架(如zend, yii)
现在第一个问题是:如何实现一个母页,可以载入子页面?
第二个问题是:我如何实现MVC结构开发?或者是让页面和PHP代码基本分离开,尽量低耦合?

其他不说

只要有好的体验,上面4点缺一不可。



这一点 太自以为是了吧...

必须登录说几句:
第一条,可变变量,在项目是不建议使用的
    1.代码难懂,只有运行时才知道这里会是什么对象,维护的人要骂人了。
    2.引用不明确,重构时你根本无法找到所有对对象使用的点在哪里,对象的使用无法跟踪。
    3.多态!!!! 您的自变变量如何保证拥有一致的接口,还不如使用继承或策略模式来动态变更对象的行为,如果厌恶继承用桥接也可以呀。

第二条,没听过,或许你需要给出更多的信息说明这个是什么。



纯技术回复:
第一条的确常用,举例:重建缓存
类内方法
function rebuildCache($key)
{
    $methodName = $key.'_recache';
    if (method_exists($this, $methodName)) {
          $this->$methodName();
         return TRUE;
    }
    $this->error = 'NO SUCH METHED: '.$methodName;
    return FALSE;
}
function system_recache()
{
    ...........
}
然后只需要在这个类里新增方法就行,其他代码可以不动,极大减少出错机率。

另外像一般的 edit、list、delete操作,都可以写一个通用操作类,要新建一个业务,只要复制粘贴相关控制器、模型,配置一下模型名称,基本不用写代码,几分钟就可以实现加、改、查、列表操作,然后再继承比如edit等操作,把本业务专用的校验等内容加进入,相当方便。

第二条,常用于有上下级联关系的,比如分类、部门,一条查询可以取得本分类和父分类的相关内容
SELECT  s.name,s.id,s.fid,f.name  FROM type s LEFT JOIN type f ON s.fid=f.id WHERE ....  

08年学c++,11年才略懂多态,我不知道你所了解的多态是什么,能拿出来分析么?

我想说 面试官没错 问题是问到了他们项目的基本点 可是人家10年经验还真不是盖的,有一些问题可能你处理能力上还不够别人老练,只能说你在某个知识上比别人领先,不能说别人不懂。你可以叫别人说一下他的做过一些特别项目的分享。给别人展现下水平就知道他的能力怎样


必须登录说几句:
第一条,可变变量,在项目是不建议使用的
    1.代码难懂,只有运行时才知道这里会是什么对象,维护的人要骂人了。
    2.引用不明确,重构时你根本无法找到所有对对象使用的点在哪里,对象的使用无法跟踪。
    3.多态!!!! 您的自变变量如何保证拥有一致的接口,还不如使用继承或策略模式来动态变更对象的行为,如果厌恶继承用桥接也可以呀。

第二条,没听过,或许你需要给出更多的信息说明这个是什么。



纯技术回复:
第一条的确常用,举例:重建缓存
类内方法
function rebuildCache($key)
{
    $methodName = $key.'_recache';
    if (method_exists($this, $methodName)) {
          $this->$methodName();
         return TRUE;
    }
    $this->error = 'NO SUCH METHED: '.$methodName;
    return FALSE;
}
function system_recache()
{
    ...........
}
然后只需要在这个类里新增方法就行,其他代码可以不动,极大减少出错机率。

另外像一般的 edit、list、delete操作,都可以写一个通用操作类,要新建一个业务,只要复制粘贴相关控制器、模型,配置一下模型名称,基本不用写代码,几分钟就可以实现加、改、查、列表操作,然后再继承比如edit等操作,把本业务专用的校验等内容加进入,相当方便。

第二条,常用于有上下级联关系的,比如分类、部门,一条查询可以取得本分类和父分类的相关内容
SELECT  s.name,s.id,s.fid,f.name  FROM type s LEFT JOIN type f ON s.fid=f.id WHERE ....  

第一点,试问以后维护的时候你知道哪里用过system_recache么,其实调用rebuild_cache('system')时候已经知道要调用system_recache了,这样折腾没必要,如果你在rebuild_cache里有业务需要封装,那么可以这样
public function rebuild_cache(callback $fn,$other_param1,$other_param2){
    $rebuil_result = call_user_func($fn);
}
$cache = new Cache();
$cache->rebuild_cache(array($cache,'system_cache'),'xxxx','oooo');

第二个原来这个就素自连接,你要是当时问我我也答不出来啊,但是原来是这个呀。。。

好吧。其实我是一个纯菜鸟。刚来北京别人就问我jsonp。好吧。我不懂。。。
倒是可变变量我了解一点。之前学习过。
我就是向说。对于一些带有歧义或者描述不是那么明显的。
我一般都不用。还是那句话。保持代码可读性非常的重要。
个人见解,拒绝喷子。欢迎指责。

php的月薪17k  肯定他能完成公司的一些项目 给公司带来效益

没必要纠结细节 至于茴香豆的回字 有几种写法  你可以问谷歌或者百度。。。。。



     1、什么是可变变量(女友可以随便换)
     2、什么是自连接(睡着老婆,幻想着情人)
     3、html动态生成的代码,如何绑定事件。(兽兽生个孩子,不知道孩子是谁的,所以就做了个dna检查)
     4、jsonp跨域做过没有?(我认识的是姐姐,但是也在避着她泡妹妹)


回答的对不对?

面试官很强大嘛,以后有活自己干就是了,何必招人

记得有一次面试,一道笔试题,一个小时之内写出来,我那时5年工作经验,没搞出来,来csdn一问,我操是一道动态规划算法题,找了思路,花了4个小时再写出来了,不过他那个公司倒闭了,装逼被雷劈.

给一个10年工作经验的人面试基础知识。。。。。亏你想的出来。。。。。你当人家是教书10年?



必须登录说几句:
第一条,可变变量,在项目是不建议使用的
    1.代码难懂,只有运行时才知道这里会是什么对象,维护的人要骂人了。
    2.引用不明确,重构时你根本无法找到所有对对象使用的点在哪里,对象的使用无法跟踪。
    3.多态!!!! 您的自变变量如何保证拥有一致的接口,还不如使用继承或策略模式来动态变更对象的行为,如果厌恶继承用桥接也可以呀。

第二条,没听过,或许你需要给出更多的信息说明这个是什么。



纯技术回复:
第一条的确常用,举例:重建缓存
类内方法
function rebuildCache($key)
{
    $methodName = $key.'_recache';
    if (method_exists($this, $methodName)) {
          $this->$methodName();
         return TRUE;
    }
    $this->error = 'NO SUCH METHED: '.$methodName;
    return FALSE;
}
function system_recache()
{
    ...........
}
然后只需要在这个类里新增方法就行,其他代码可以不动,极大减少出错机率。

另外像一般的 edit、list、delete操作,都可以写一个通用操作类,要新建一个业务,只要复制粘贴相关控制器、模型,配置一下模型名称,基本不用写代码,几分钟就可以实现加、改、查、列表操作,然后再继承比如edit等操作,把本业务专用的校验等内容加进入,相当方便。

第二条,常用于有上下级联关系的,比如分类、部门,一条查询可以取得本分类和父分类的相关内容
SELECT  s.name,s.id,s.fid,f.name  FROM type s LEFT JOIN type f ON s.fid=f.id WHERE ....  

第一点,试问以后维护的时候你知道哪里用过system_recache么,其实调用rebuild_cache('system')时候已经知道要调用system_recache了,这样折腾没必要,如果你在rebuild_cache里有业务需要封装,那么可以这样
public function rebuild_cache(callback $fn,$other_param1,$other_param2){
    $rebuil_result = call_user_func($fn);
}
$cache = new Cache();
$cache->rebuild_cache(array($cache,'system_cache'),'xxxx','oooo');

第二个原来这个就素自连接,你要是当时问我我也答不出来啊,但是原来是这个呀。。。
呵呵,当然,只在对象内部使用。这个例子类是临时手写,所以不那么严谨,其实一般只有两个对外接口,get($key),一个就是rebuildCache($key),而且绝大多数情况下,rebuildCache是在get内调用的,也就是找不到缓存时自动调用,然后再返回缓存数据,对外部来说是看不到是否调用过system_recache这个方法的,而且这个方法也是私有方法不允许外部调用。rebuildCache只有在影响了缓存数据的内容时才主动调用,比如修改了系统设置。有时甚至单纯把相关缓存删除完事,rebuildCahce连用都不用,反正以后哪个部分用到这个缓存数据,这个类都会自动生成缓存,不需要我再去操心。所以,具体什么时候调用了system_recache,我真不知道,除了Cache类本身,我的其他代码里没有这个调用。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn