腾讯Javascript电话面试记录(2)
1,问有一个div树,你将如何遍历每一个节点。
答:用childNodes可以得到这个div的子节点数组,然后可以用for循环得到div然后再遍历这个div的子节点。
2.如果我想得到一个div的下一个节点或上一个节点,怎么办?
答:用nextSibling和previousSibling。
3,如果我想插入一个节点到一个div的前面,怎么办?
答:在ie下,用insertAdjacentElement,或insertAdjacentHTML
问:还有什么办法?
答:先插入字节的在交换吧,(其实想说appendChild在交换)
4.有跨浏览器开发的经验吗?
答:有。
问:能说出js在ie和ff上的几点不同吗?
答:在事件处理上有些不同,比如ie是用attachEvent而ff是用attachEventListener,他们在参数上也不同,还有就是前面提到的insertAdjacentElement和insertAdjacentHTML在ff下不能用。由于不同的太多了,一时想不起了......
5.你开发的时候一般用什么工具?
答:DreamWeaver,还有vs,
问:调试的时候,使用什么呢?
答:用firebug,还有vs。
6.有一个字符串,想得到中间一个字符的位置,或更具某种模式来匹配,你一般怎么处理?
答:如果是得到位置,我一般用indexOf,如果匹配,我就用正则表达式。
问:正则你主要使用那些方法?
答:replace,match,当然还有test.
7:cookie的长度有什么限制?
答:这个我不大清楚(想:我从来没存过很长的cookie,不知道)有4000
问:网站能在客户端存储多少个cookie?
答:这个,没有限制吧?(面试官:错!)(后来查资料发现是20个)
8:异步读取数据有什么办法?
答:xmlHttp和iframe(上传文件)
问:还有呢?
答:不知道了,(后来发现是还有createElement("script")的方法,其实知道这方法,但当时没想起)
9:跨域数据怎么传递呢?
答:昨天那位考官也问了这样的问题,我想应该用客户端activex可以实现数据交互。
10:看了你的简历,你说你曾经开发了一套widgets,能简单描述一下吗?
答:当时公司为别人做oem但是设计的ui不是标准的网页控件的样式,所以我就设计了一套网页控件,给同事和自己用。
问:里面都有些什么功能呢?
答:把页面上所有的button标签变成自定义样式,radiobutton,dropdownlist,checkbox,calendar......(没说完)
问:一次性把所有button标签变为自定义样式怎么实现的?
答:用getElementByTagName得到所有标签为button的,然后用insertAdjacentElement把自定义按钮插入到它前面,然后把button标签隐藏,事件处理的话,就是当用户点击自定义按钮的时候,仍然调用那个隐藏按钮的click事件。
11:看到你曾经作了一个asp的framework中有cache的功能,你怎么实现的?
答:当然,这个cache的功能没有asp.net的cache功能强大,.....(略)(这个问题没讲清楚,可能他也不是完全知道我说的什么)
12:你通常用css来做什么?
答:控制样式啊,布局啊,这些.
问:通常网页布局,切割是你自己做的吗?
答:是,其实也不是什么切割啦。就是用div打一下布局,然后把图片文字放进去。
13:根据你以前的经验,说说js代码优化方面的注意点.
答:在遍历树的时候不要通过id来得到每一个节点。而要通过nextSibling的函数遍历.
问:还有呢?
答:现在一下子想不起来了。(晕少用eval种都没说)
问:一般测试代码的性能,用什么方法呢?
答:测试函数的话,自己写个代码,循环调用这个函数测试性能。
14:看你的简历上,有介绍php + mysql的开发经验,能介绍一下吗?
答:当时是公司给XXX开发的一套在线备份还原系统,我负责用户管理模块,和后台统计模块。
问:能说说用户登录是怎么验证的吗?(不敢相信问了这个问题,一般面试不会问这个问题吧?)
答:用户在客户端输入用户名和密码,发送到客户端之后,查询数据库里有这条记录没有,如果有,就把值写到session里。
问:那么,如果跳转了页面怎么办?
答:客户端的浏览器没有关闭,代表这个会话没有结束,session会一直存在。(汗,结果应聘客户端开发会被问这种问题)
面试官:就问到这里,我会给人事部说,如果有下一步安排会通知你,(晕,这就完了?我的服务器端开发水平没您想象的那么菜吧?)
---------------------------------------------
可能还有几个问题,没记住了。问题排列顺序也可能打乱了。
浙公网安备 33010602011771号