1
yangqi 2015-06-09 09:11:21 +08:00
挺正常的吧,如果不是前端的会这些框架就足够了吧
|
2
yahoo21cn 2015-06-09 09:12:18 +08:00
对,你让他直接写汇编,肯定更不会
|
3
forest520 2015-06-09 09:12:55 +08:00
这种知识性的东西,google一下就会了,真不是什么问题
|
4
FrankFang128 2015-06-09 09:13:33 +08:00 via Android
我也写不出,两年没用过了大概,不过我知道 ajax post get 所有参数在 request 里面对应的东西。
|
5
justfindu 2015-06-09 09:13:50 +08:00
会写原生的加分 不会写的也不扣分
|
6
FrankFang128 2015-06-09 09:14:24 +08:00 via Android
同意3楼,问点如何解决问题之类的题目比较好
|
7
sarices 2015-06-09 09:15:05 +08:00
每一次要写原生都要去查一遍api
|
8
lwbjing 2015-06-09 09:16:53 +08:00
我只记得大概,让我仔细写出来还真写不出来。。orz..
|
9
iamxi 2015-06-09 09:17:14 +08:00
用jquery写ajax多方便,代码结构清晰,必用原生的写简介。要解决问题,自然效果越好,越简单的。哪天要用原生的,直接谷歌之。
|
10
linescape 2015-06-09 09:19:14 +08:00 1
1100001010100101110101101111011111001001101101011011000111000110
我这回复够原生了吧 |
11
sivacohan 2015-06-09 09:19:39 +08:00 via Android
来,背一下元素周期表。
这么基础的知识都不会还敢说自己读过书? 面试的时候注意不要问这些知识性的东西。最多问一下Ajax的实现。就xmlhttprequest 就足够了。 |
12
hj2002007 2015-06-09 09:24:31 +08:00
原生ajax 很多年前 我不知道jquery时候 我写过 写的欲仙欲死 然后我知道了jquery 然后 就再也没有用ajax了 时间这么宝贵啊
|
13
Hyperion 2015-06-09 09:27:50 +08:00 via Android
原生,就算原生我也会找个类来用...
先不吐槽各浏览器兼容大坑,就是这收到数据后判断类型,处理异常,起码2屏代码。 我一直觉得,如果不是特别必要,不用轮子有毛病啊... |
14
airyland 2015-06-09 09:28:37 +08:00
我其实也写不出来。但是google一下应该不用半分钟就解决了,比手写还快。
|
15
ieiayaobb 2015-06-09 09:31:35 +08:00
写不出来,遇到面试官这么问我应该也会醉了
|
16
Xrong 2015-06-09 09:31:46 +08:00
这个一点问题都没有
|
17
lguan 2015-06-09 09:33:02 +08:00
你要是在我项目里面用原生的写个AJAX,我保证抽你
|
18
zhujinliang 2015-06-09 09:34:50 +08:00
会不会都不知道js有new这个关键字呢
|
19
FrankFang128 2015-06-09 09:39:00 +08:00 via Android
@zhujinliang 我看见谁用就会劝他忘掉new
|
20
lZl 2015-06-09 09:41:06 +08:00
楼主会写一个原生ajax也不要有啥优越感,大家都是做工程的,不是搞研究的,目的都是致用!
|
21
cheng007 2015-06-09 09:55:27 +08:00
他的工作方式应该是用到什么学什么吧。
你给他点时间让他学,我觉着不会有问题。 面试一个人,会考虑他现在可以做什么,还有他的学习能力 我面试现在公司这份工作的时候,还不会js,不会node.js,两个礼拜后就会了写了。 |
22
zhangshine 2015-06-09 09:56:12 +08:00
这种了解一下就好了,然后欢快的用jQuery就好了,估计面试者遇到你也是醉了
|
23
junyuecao 2015-06-09 09:58:06 +08:00
核心原理知道XMLHttpRequest, 知道IE上的ActiveXObject, 知道挂各种事件,就差不多了
|
24
fkccp 2015-06-09 09:58:52 +08:00 1
过一会就会出现《我就是那个不会写原生Ajax的面试者》的帖子……
|
25
gilgamesh 2015-06-09 09:59:02 +08:00 via Android
挺好的,楼主三观被纠正过来了。
|
26
Debiancc 2015-06-09 09:59:30 +08:00
看到回复我就放心了
|
27
andy1987 OP @lZl
谢谢你的回复 首先楼主我没有这种优越感,因为我大多数时间都是在用zepto来完成的我的ajax操作的:)。 至于为什么在面试中考核,这跟我们公司某些项目要求有点关系。 ps:个人认为会写代码的同时应该也要学会为什么是这样写。原生js写ajax并不算什么研究性的东西,个人也觉得不管是web开发还是js工程师如果连一些基本的原生js技能都没,类似ajax这样的都不会写,都不能处理好,大多数的技术只会依赖第三方,这种人我真心也不敢要 |
28
griffinqiu 2015-06-09 10:01:50 +08:00
一个面试官对jquery(jQuery), prototypejs(Prototype), 对XMLHttpRequest也很熟悉, 却看不懂计算及执行汇编, 面试者的你们多半会怎么处理? 反正我是醉了
1100001010100101110101101111011111001001101101011011000111000110 |
31
learnshare 2015-06-09 10:03:10 +08:00
不会写。
原生 API 不太适合直接拿来做产品,必须有一层包装才好用。所以产品中最起码也是 jQuery。 |
33
ccbikai 2015-06-09 10:03:58 +08:00 via iPhone
有些基础性的东西虽然都知道是啥,什么原理,但是要立马说出来却不容易。
来,说一下TCP/IP七层模型 |
34
banri 2015-06-09 10:06:46 +08:00 via iPhone
面试的时候被问了ajax的流程,说了xmlhttprequest,http状态码,ajax状态码,返回数据操作dom就可以了。
其实让我写我也写不出,对着文档也能写。小项目用原生没啥问题啊,写了也比个库小。稍微大点的项目就得用库了,写原生就和梦游一样。。。 |
36
Septembers 2015-06-09 10:09:23 +08:00
|
38
Septembers 2015-06-09 10:11:02 +08:00
@learnshare @banri 也许规范太新都不知道,然后死一片?
|
39
banri 2015-06-09 10:11:13 +08:00 via iPhone
@Septembers 😭我是被面试的,我的面试官很nice,萌萌哒
|
40
zhs227 2015-06-09 10:14:00 +08:00
如果允许面试者用Google或者其他参考资源,看看他10分钟能不能写出来。
我觉得这种考验记忆力的东西不适合放在面试里面。 |
41
learnshare 2015-06-09 10:14:49 +08:00
@Septembers 太新了,很少有人知道。在一个新技术被广泛应用之前,新人是无法了解到的。
|
42
ccbikai 2015-06-09 10:16:27 +08:00 via iPhone
@Septembers github还开源了一个兼容低版本的库
|
43
andy1987 OP |
44
herozzm 2015-06-09 10:17:30 +08:00
一切为技术业务为导向,何须死脑筋
|
45
wolfan 2015-06-09 10:17:41 +08:00 via Android
刚好前天就写了个原生的。
|
46
Septembers 2015-06-09 10:17:59 +08:00
|
47
zhangshine 2015-06-09 10:19:05 +08:00
那你们应该找学习能力强的,而不是记忆力强的
|
48
lyragosa 2015-06-09 10:19:31 +08:00
别说原生ajax了
我连原生js都快忘光了……只剩下getElementById了…… |
50
andy1987 OP @zhs227
我不是很赞成仁兄的看法,ajax并不应该成为是记忆性的东西,我们面试也不很少写直接的代码,思路和流程是我们所关注了。 你会jquery ajax而且做的非常的好,但是你连XMLhttprequest是什么都不知道的人,我们是不会要的。 |
52
Qlccks2 2015-06-09 10:25:29 +08:00
我觉得不会也没什么关系,这种看api应该都会用吧。
|
55
andy1987 OP |
56
falcon05 2015-06-09 10:30:56 +08:00 via iPhone
楼主考查角度刁钻,冒泡排序不来一个吗?
|
57
andy1987 OP @cheng007
熟悉+ 应用一门技术确实很快,了解每次应用,每次调用的背后发生的事情也很重要,这样才能更好帮你改进程序 |
60
zhs227 2015-06-09 10:33:15 +08:00
@andy1987 你是老板,规则当然是你定。只要怎样对自己公司的业务有帮助。
我05年写过原生Ajax的聊天室,但是那个时候IE不叫这个名字。叫做一个什么COM。现在让我写我也写不出来。不知道属不属于楼主说的哪种醉了的人。 我想每个面试官也有自己所不知道的东西,每个人学习东西的出发点不一样,有些你认为基本的东西别人不会也很正常。 原生这个不需要太多的时间学会,找个学习能力强的,你要什么他学什么就好了。 |
61
yoa1q7y 2015-06-09 10:34:11 +08:00 1
看了回复,吐槽楼主的绝大部分应该不是做前端的,或者说不是一个合格的前端
原生的写法在工作中是用不到的,但是一个好的前端对这个绝对应该要熟悉的 熟不熟悉原生,能看出一个人对前端的追求,对js的理解深度,对自己知识的自信。在项目中解决问题的时候才能更加游刃有余,当出现一个问题的时候,熟悉原生能够直接看到问题的本质,然后给出直截了当的解决方案 只会用点jQuery永远也得不到进步,这也是目前出现前端饥荒的原因,大部分都以为会几个框架就无所不能了,一些底层的知识稍微问下就不知道了 |
62
andy1987 OP @learnshare
可以不用,但是还是要了解了,了解后面发生的事情才能更好的帮助你改进你的程序,这是我个人认为的 |
64
yoa1q7y 2015-06-09 10:36:33 +08:00
另外,扯到汇编的人就有点抬杠的意思了
|
65
Septembers 2015-06-09 10:37:09 +08:00
@yoa1q7y 我个人觉得一位 合格的前端 起码是读过HTML Spec、CSS Spec、ECMAScript Spec的
|
66
andy1987 OP @griffinqiu
有点偏题了 熟悉jquery,prototypejs 的ajax加上了解xmlHttpRequest这就够了,我们又怎么会为难面试者去了解汇编啥的东西呢,这也不是我们项目所需要的 这就好比:你知道TerminateProcess来结束进程的,但是我们也希望你知道它的最后的操作是又PspTerminaterProcess,PspTermianterThread来完成了~ :) |
71
andy1987 OP @banri
很多面试都不会让你直接写的,知道xmlhttprequest,又知道基本的处理流程,这就足够了,如果在提过多的要求,那估计就是这面试官压根就不想招人 了 :) |
72
yoa1q7y 2015-06-09 10:41:31 +08:00 1
@Septembers 对的,有追求的人熟悉了原生之后,开始研究w3c标准,ECMAScript标准,甚至浏览器渲染引擎,内核之类的东西了,这对于提升前端的功底也有很大的帮助
|
74
Septembers 2015-06-09 10:46:52 +08:00
|
75
andy1987 OP @zhs227
看来我被你深深的误会了 ::>_<:: 一般来说正常面试不会要求面试者去用原生js写出一个完整的ajax的操作的,你了解jquery,prototypejs的ajax,当然我们也希望你了解XmlHttpReuqest和XActiveObject(太老了) ,你能简单的描述通过xmlhttprequest来完成一个ajax的简单过程就够了。 这样的要求对我们招人来说,我们不觉得在过分和在为难面试者,当然你可以这样认为。 |
76
breeswish 2015-06-09 10:47:54 +08:00
@yoa1q7y 私以为知道 jQuery.ajax 底层用的是 XMLHttpRequest 应该足够了;至于会不会用 XMLHttpRequest 的各个接口这个应该和日常使用相关吧,原生用得多自然会熟悉,用得少即使以前会用那也会记忆模糊不清,在面试这种环境下难免会写不出来。考察是否知道 XMLHttpRequest 是在考察基础;考察是否会用 XMLHttpRequest 是在考察是否有此类经验..
说来,为何不回答用 fetch API 呢 :-) 也是原生的 |
77
zhs227 2015-06-09 10:53:42 +08:00
|
78
andy1987 OP @breeswish
确实,我们最担心的就是熟练jquery ajax的各种操作,但是连xmlhttprequest都没听过的人,更不要说面熟下ajax请求的处理过程了 |
79
unknownservice 2015-06-09 10:59:22 +08:00
讲原理就说讲原理,你说的是啥?写出来?我也醉了。。茴香豆的茴字有四种写法?
|
80
xavierskip 2015-06-09 11:01:24 +08:00
@lyragosa getElementById属于DOM操作,和原生js还是有点差距的。
|
82
anubiskong 2015-06-09 11:05:11 +08:00 1
给lz个建议, 别在面试的时候问能用搜索引擎轻松搜到的问题, 这样做非常low.
就像我问你会用筷子吗? 你说会, 然后我让你用两根木棍为原料做出筷子来, 以证明你深刻的理解了筷子的用法. 这种极少有人去做, 而每个人都能做得到的事情很难考察一个人的能力. 你说需要懂ajax的底层原理, 懂了又有什么用呢? 你上次在实际项目中自己实现ajax是什么时候的事情了? 我是这样面试的, 我随便挑了一个CSS的兼容性问题, 然后问他有没有遇到过, 他说有遇到, 我就问他解决方案, 如果没有遇到过, 我就问他你想怎么解决? 去搜索? 你用什么关键词搜? 没搜到/想自己尝试解决? 告诉我思路. 这样一步步追问, 直到对方把解决问题的思路全部暴露出来为止. 思路全暴露了, 就很容易看出这个人的经验,思维方式,知识面的层次甚至工作态度等等细节. 如果面试的房间有电脑, 我会让他现场解决一个bug, 我就坐在后面看着他搞, 一个bug就说明所有问题了 |
83
jacob 2015-06-09 11:06:26 +08:00
如果要写原生的,是不是要自己写个Promise啊,否则也没意义啊,自己写Promise我感觉这个太难了,
|
84
jun4rui 2015-06-09 11:09:21 +08:00
我觉得会jQuery就已经足够了,没必要写原生的,因为Javascript的原生就是一个超级巨大的坑,我看过jQuery的源码,里面很多很多的代码都是为了填坑,很多填坑的技术都匪夷所思开发者千万别以为了解这些有用,学这些完全是浪费时间。
而且就jQuery和前端的意义来说,应该重点在功能的实现逻辑上,这种底层的玩意是今后语言级别应该填平的。 |
85
jun4rui 2015-06-09 11:17:39 +08:00
我再罗嗦一下,现在真的深入了解了前端js,会发现这玩意粗糙无比,规则混乱不堪,根本不值得投入生命去深入研究,有空多看看html5、新的js规范更好。愿意在这里面浪费生命的国内我也就知道司徒正美而已。
|
87
hussion 2015-06-09 11:26:18 +08:00
只要能说清楚xmlhttprequest请求相关逻辑即可(包括onload,onerror,send,以及返回状态码等),主要是原理,不一定非要写出来,说真的,写出来也真的没啥技术含量。
|
88
otakustay 2015-06-09 11:29:07 +08:00
虽然我也经常拿原生写ajax考人,但我真不认为写不出来代表了什么,倒是回答不出302和200的话就会很让我在意
毕竟你也可以说“好多人会用c3p0写链接池但是让他用原生java写就不会”,类似的事情好多,为什么已经有这么成熟的封装我们就非得知道底下的实现呢…… 另外我作为一个团队的FE Leader,勉强会写原生XHR吧,不过你要我写XHR2上传文件我真不会,我还够格当Leader吗- - |
90
Biwood 2015-06-09 11:40:38 +08:00
说实话我也不能保证用原生 JS 写一个完整的 ajax 操作,所以我认为自己水平确实很渣。
楼上有很多说无所谓的,我觉得这种心态很不好,你们真的确定自己的技术已经可以了么?jQuery 就是语法糖,有些人已经沉浸其中不能自拔了。 |
91
hj2002007 2015-06-09 11:43:19 +08:00
@andy1987 是 不过很快需要快速开发的环境下 熟悉 第三方库 其实是有时间成本的 当然 如果是团队作战, 可以让其中一个人学习 然后教其他的人使用 有问题 就找那个人
|
92
laoona 2015-06-09 11:44:57 +08:00
追求原生,这是必然,对自身技术上的提升。
碰到这样只会用第三方框架的同学,反正我是很介意的。 |
93
jun4rui 2015-06-09 11:47:18 +08:00
@Biwood 因为就Ajax这个技术来说,你平时基本不会用原生的,因为要抹平所有浏览器的兼容行和实现,要么自己封装一套,要么用很有用的jQuery等库封装好的,大家对原生的Ajax可以说没有长时间使用的机会,十有八九早忘了。
至于深入研究JS,我自己正在学,非常痛苦,虽有有类的概念,但是问题非常多,你需要花费5倍左右的努力才能达到别的语言相应的效果,而这些效果对你日常工作而言可能毫无用处,甚至这些问题会在不久的将来通过语言本身改进掉,这样你学起来的成就感很少很少…… 我是真心劝想深入研究浏览器端JS的兄弟们,仔细想想。Nodejs那边还好,至少人家标准化程度高得多,规范更新坑少很多。 |
94
Septembers 2015-06-09 11:47:42 +08:00
|
95
xylophone21 2015-06-09 11:48:11 +08:00
个人觉得讲出原理还是需要的吧,至少说明这个人对技术没有好奇心,不求甚解。
如果换一个问题, 面试windows开发,只知道在VS里点build,不知道cl,nmake等,大家怎么看?减分不? 面试Android应用开发,只知道在eclipse里点run,不知道aidl,dx,aapt等,大家这么看?减分不? 至于最终要不要,这个不是看你们要人要的急不急决定的吗。 |
96
j 2015-06-09 11:48:16 +08:00
你先把jq代码丢给面试的人,源代码随便翻。然后你随便问呗,什么原生ajax之类的,你让他快速从jq代码里找出来不就行了。
你考什么内容跟你招什么工程师那是两回事。就算你是js大牛,我现在让你不翻搜索引擎直接写个原生音乐播放器出来还不是一样卡死你。 所以。。。。其实是面试的同学外貌不好,跟技术无关。 |
97
arron 2015-06-09 11:49:10 +08:00
原生JavaScript中并不包含XMLHttpRequest。XMLHttpRequest只是浏览器提供的api,你要在node.js里根本见不着这个。所以要考原生JavaScript还是另外出题吧。
|
98
j 2015-06-09 11:49:34 +08:00
-。-,,, 借口,都是借口。
追求原生,这是必然,对自身技术上的提升。 碰到这样不会写第三方框架的同学,反正我是很介意的。 |
99
lyd600lty 2015-06-09 11:50:26 +08:00
说的好像你会写机器码一样。。
|