- 浏览: 112829 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
墨子宇:
so,为了使用JSLint我还得装一个aptana?
eclipse 添加 JSLint 插件 -
lvjun106:
楼主可以看下这篇文章,介绍的很详细。http://www.os ...
eclipse 添加 JSLint 插件 -
newsletterBroker:
呵呵,感觉不错!
Jquery 源码中的 正则表达式 分析 -
jayliud:
String.prototype.count = funct ...
百度web前端笔试
下面是webryan整理的百度web前端笔试和面试的一些题目和过程,提供给大家借鉴。
百度web前端笔试试卷上的题目:
1.判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20
2.截取字符串abcdefg的efg
3.让一个input的背景颜色变成红色
4。给一个页面,写html css
5。div的高宽等于浏览器可见区域的高宽,浏览器滚动,div始终覆盖浏览器的整个可见区域
6。判断一个字符串中出现次数最多的字符,统计这个次数
7。IE与FF脚本兼容性问题
又重新问的是1,4,6,7,这次问出题者的意图,并且让给出7的更多答案,以及IE FF不兼容的原因
然后看了看简历,没有问简历上的项目,而是让自己随便谈谈
1对于web客户端技术未来趋势发展谈谈看法
javascript + ajax=RIA
Adobe Flash AS 3
Flex
Sliveright
2web开发团队人员应该如何分工协作
布局 CSS 脚本
比如脚本人员长期的积累可能铸造类型YUI这样的产品级脚本库(亮点)
3web开发曾经的团队有没有别人遇到问题,什么问题,向你请教
4如果要实习,什么时候可以
5自己在开发的过程中遇到什么问题,谈谈看法
6web开发脚本开发环境用什么、调试用什么
试过aptana,现在就用editplus
调试肯定用firebug,ie下看页面DOM用IEInspector
7如果有个新技术,现在需要掌握,你会怎么做
新技术的发现我一般是通过RSS工具,比如我用GoogleReader
每天有半个小时左右在看最新的资讯、技术走向
发现新技术,首先有个大概了解,如果有深入的必要
我一般会看他的官网,比如jquery,我会搜索到www.jquery.com,然后看Docs、samples
如果要用到项目中,有困难的问题,我会svn得到最新的这个技术的源码,深入跟踪进去,看实现原理
一般现在涌现的技术都是opensource
提问时间
1百度web开发脚本是否有做类似YUI库的打算
2百度web开发工程师打算招多少人
百度电话二面回忆 web开发部–web开发工程师
首先是自我介绍
然后谈谈做的web项目
然后开始问技术问题
前端开发的优化问题
答:
产品发布时,js的压缩,即函数名替换、整个文件压缩成一行
css开发的时候 注释写清楚,先有个base.css,然后根据不同页面需要再加css,发布的时候将css中的一个定义写成一行,目的是压缩文件大小
最终发布的时候甚至可以将css,js分别压缩成一个文件,甚至css、js通过技巧压缩到一个里边(亮点)
这样的目的是,减少用户访问web产品的http连接数
web前端产品的开发流程
答:首先根据产品的定位、用户群,确定配色,然后纸上设计整体布局,然后png或者psd出效果图,切出需要的小图片,然后手写代码div+css构造出页面,然后根据功能写脚本
参考126邮箱首页,将所有小图片放到一个图片中,通过css的background-position实现页面,还是为了优化,减少http连接数
规避javascript多人开发函数重名问题
答:首先是通过命名规范,比如根据不同的开发人员实现的功能,在函数名加前缀,虽然函数名看起来复杂,发布的时候还是可以替换,从而优化。
还有一种办法是,每个开发人员都把自己的函数封装到类中,然后调用的时候即使函数名相同,但是因为是要类.函数名来调用,所以也减少了重复的可能性。
javascript面向对象中继承实现
答:我是用prototype.js extend.js扩展
然后子类中parent.initialize()…
答的不好
正确答案:
// 1. 构造器
function Animal() {};
function Mammal() {};
function Canine() {};
function Dog() {};
// 2. 原型链表
Mammal.prototype = new Animal();
Canine.prototype = new Mammal();
Dog.prototype = new Canine();
prototype.js实现的基本原理
答:
将功能封装
比如Ajax.Request,还是有判断浏览器的代码;Position这样的实现页面元素位置的计算
prototye太大,如果一个页面功能不需要这样的,自己实现,怎么做
答:首先页面、css、脚本分离之后,脚本中将整个模块功能写成一个类var Do={}
其中初始化函数init:function(){},然后最后做Do.init()
其中init会对页面上form中需要交互的元素绑定事件,比如$(’input1′).onclick=function(){}
IE、FF下面脚本的区别
答:
1.IE有outerHTML,FF没有
2.页面元素id,IE可以直接取,FF必须document.getElementById()
3.Ajax里边FF是new XMLHttpRequest,而IE是
try new ActiveXObject(’Msxml2.XMLHTTP’) try new ActiveXObject(’Microsoft.XMLHTTP’)
FF下面实现outerHTML
答:.parenet.firstChild .parent.innerHTML
这个没答好
正确答案:原理是,get:取到这个标签的tagname,然后属性循环构造成这个标签的属性
set:把字符串用insertBefore插入到这个元素前面,然后removeChild这个元素
<head>
<SCRIPT LANGUAGE=”JavaScript”>
<!–
if(typeof(HTMLElement)!=”undefined” && !window.opera)
{
HTMLElement.prototype.__defineGetter__(”outerHTML”,function()
{
var a=this.attributes, str=”<”+this.tagName, i=0;
for(;i<a.length;i++)
if(a[i].specified)
str+=” “+a[i].name+’=”‘+a[i].value+’”‘;
if(!this.canHaveChildren)
return str+” />”;
return str+”>”+this.innerHTML+”</”+this.tagName+”>”;
});
HTMLElement.prototype.__defineSetter__(”outerHTML”,function(s)
{
var d = document.createElement(”DIV”); d.innerHTML = s;
for(var i=0; i<d.childNodes.length; i++)
this.parentNode.insertBefore(d.childNodes[i], this);
this.parentNode.removeChild(this);
});
HTMLElement.prototype.__defineGetter__(”canHaveChildren”,function()
{
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
});
}
//–>
</SCRIPT>
IE、FF下面CSS的解释区别
答:
1.png透明背景,FF下面没有问题,IE需要用滤镜通道
2.z-index在IE、FF下面的解释问题,
IE会认为第一个z-index=0
3.长字符串,word-wrap:break-all可以解决IE,但是FF需要overflow:hidden才行
冯舒娅补充:
1、有些标签在ff中不能用,比如button
2、滤镜
3、鼠标cursor:hand cursor:pointer
4、div的高度自适应
5、对box模型解析不一样
6、ul、ol的padding和margin
IE都能识别*,标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important;
IE7能识别*,也能识别 !important;
FF不能识别*,但能识别 !important;
例如style=”*width:10px;!important width:20px;”
这样在IE6下宽度为10px,在IE7下宽度时20px
web前端技术的展望
答:javascript ajax;flash AS;Flex;Sliveright
附上网上的百度web开发工程师笔试问题集
1编写一个方法 求一个字符串的字节长度
<script language=”javascript” type=”text/javascript”>
new function(s)
{
if(!arguments.length||!s) return null;
if(”"==s) return 0;
var l=0;
for(var i=0;i<s.length;i++)
{
if(s.charCodeAt(i)>255) l+=2;
else l++;
}
alert(l);
}(”hello你好,我好,大家好!world!”);
</script>
2编写一个方法 去掉一个数组的重复元素
<script language=”javascript” type=”text/javascript”>
Array.prototype.strip=function()
{
if(this.length<2) return [this[0]]||[];
var arr=[];
for(var i=0;i<this.length;i++)
{
arr.push(this.splice(i–,1));
for(var j=0;j<this.length;j++)
{
if(this[j]==arr[arr.length-1])
{
this.splice(j–,1);
}
}
}
return arr;
}
var arr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];
alert(arr.strip());
</script>
3说出3条以上ff和ie的脚本兼容问题
IE
有children,FF没有;IE有parentElement,FF没有;IE有innerText,outerText,outerHTML,FF
没有;FF有HTMLElement,HTMLDivElement,XMLDocument,DocumentFragment,Node,
Event,Element等等,IE没有;IE有数据岛,FF没有;IE跟FF创建HttpRequest实例的方法不一样。。等等。。
4用脚本写去除字符串的前后空格
String.prototype.trim = function(mode)
{//前后去空格
if (mode==’left’) {
return ((this.charAt(0) == ” “ && this.length > 0) ? this.slice(1).trim(’left’) : this);
} else
if (mode == ’right’) {
return ((this.charAt(this.length - 1) == ” “ && this.length >
0) ? this.slice(0, this.length - 1).trim(’right’) : this);
} else {
return this.trim(’left’).trim(’right’);
}
};
5算出字符串中出现次数最多的字符是什么,出现了多少次
<script type=”text/javascript”>
//<![CDATA[var str ="adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
var result = ''; //命名一个变量放置结果输入
while( str != '' ){ //循环迭代开始,并判断字符串是否为空
oldStr = str; //将原始的字符串变量赋值给新变量
getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母)
eval("str = str.replace(/"+getStr+"/g,'')"); //详细如补充
if( oldStr.length-str.length > maxLength )
{ //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
maxLength = oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度
result = getStr + "=" + maxLength //返回最大的字符串结果(字母、出现次数)
}
}
alert(result) //弹出结果
//]]>
</script>
6写出3中使用this的典型应用
在HTML元素事件属性中inline方式使用this关键字:
7.最后一个问题是,如何制作一个combo选项,就是可以输入可以下拉菜单选择。
这个网上有很多成品,主要是通过绝对定位和相对定位结合的方式,改造原有的select 标签和input标签的方法。
附上javascript正则表达式的基本知识:
g: 全局匹配
i: 忽略大小写
^ 匹配一个输入或一行的开头,/^a/匹配”an A”,而不匹配”An a”
$ 匹配一个输入或一行的结尾,/a$/匹配”An a”,而不匹配”an A”
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x) 匹配x保存x在名为$1…$9的变量中
x|y 匹配x或y
{n} 精确匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符
[b] 匹配一个退格符
b 匹配一个单词的边界
B 匹配一个单词的非边界
cX 这儿,X是一个控制符,/cM/匹配Ctrl-M
d 匹配一个字数字符,/d/ = /[0-9]/
D 匹配一个非字数字符,/D/ = /[^0-9]/
n 匹配一个换行符
r 匹配一个回车符
s 匹配一个空白字符,包括n,r,f,t,v等
S 匹配一个非空白字符,等于/[^nfrtv]/
t 匹配一个制表符
v 匹配一个重直制表符
w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[w]匹配”$5.98″中的5,等于[a-zA-Z0-9]
W 匹配一个不可以组成单词的字符,如[W]匹配”$5.98″中的$,等于[^a-zA-Z0-9
举例:验证email
var myReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$/;
if(myReg.test(strEmail)) return true;
(责任编辑:admin)
原文地址:http://www.zenjs.com/relate/jobs/2010/0304/2815.html
评论
String.prototype.count = function(){ var h = {}; var temp; for(var i=0;i<this.length;i++){ if(h[this.charAt(i)] == null){ h[this.charAt(i)] = 1 temp = this.charAt(i); }else{ h[this.charAt(i)] += 1 } } for(j in h){ if(h[j]>h[temp]) temp = j; } alert(temp) } 'afdfdfdfgfgffdfdeerererereere'.count();
发表评论
-
execCommand
2011-11-25 16:12 1124mozilla 文档地址:https://develop ... -
javascript DOM
2011-11-21 10:50 1044原文地址: http://blog.mo ... -
支持ctrl,shift键的拖拽排序
2011-08-26 11:23 1176终于搞定了,太不容易了。最近公司要弄一个拖拽排序的 ... -
javascript 封装 继承
2011-08-16 17:37 1136原文地址:http://www.ruanyifeng.com/ ... -
javascript 中的闭包
2011-08-16 16:37 922文章地址:http://www.ruanyifeng.com/ ... -
javascript 排序
2011-08-31 19:41 916//生成20-100之间的20个随 ... -
seajs 源码 学习 1
2011-08-10 17:32 0global.seajs = { _seajs: this ... -
seajs 源代码 学习
2011-08-11 14:08 3203这段时间学习了一下seajs,也用了seajs写了不少的d ... -
null 和 undefined
2011-07-31 15:05 882原文地址:http://blog.csdn.net/aimin ... -
辩:javascript 的数据类型
2011-07-29 11:18 1176关于“javascript 的数据 ... -
跨域请求
2011-07-12 11:34 0原文地址:http://itgeeker. ... -
uglifyJS
2011-04-26 12:21 0-b or --beautify — o ... -
JavaScript DO 框架 学习
2011-04-22 14:56 1831昨天在github找东西的时候,发现上了克军的DO框架,感觉不 ... -
prettfy demo
2011-02-23 08:29 1247<!DOCTYPE html PUBLIC " ... -
JavaScript 测试题
2011-02-16 12:07 1068console.log(" ... -
javascript 中的apply和call方法
2010-12-31 15:11 791一直以来不明白,今天算是搞明白了apply和call方法了。记 ... -
jquery 插件 开发 模板
2010-12-10 13:09 950原文来自网上。 (function($) { ... -
31个最实用的Javascript工具
2010-12-08 14:56 1079原文地址:http://developer.51cto.com ... -
27个必备的Javascript开发工具
2010-12-01 14:59 1078原文地址:http://blog.mcncc.com/4275 ... -
选择器 效率 图
2010-11-22 11:27 734以后用jquery的选择器这回有依据了
相关推荐
Web前端开发是构建互联网应用程序和网站的关键组成部分,它涉及到用户界面的设计、交互、性能优化等多个方面。随着HTML5等新技术的发展,前端工程师的角色越来越重要,不仅需要熟练掌握各种技术,还需要具备良好的...
Web前端开发是现代互联网产品开发中的关键环节,涵盖了UI设计、HTML/CSS、JavaScript、多媒体技术、服务端通信等多个方面。随着HTML5等新技术的发展,前端工程师的角色愈发重要,不仅负责构建网页的视觉表现,还涉及...
在2011年百度的暑期实习生招聘中,web前端开发的笔试题主要涉及...综上所述,百度的web前端开发笔试题涵盖了JavaScript基础、网络协议、算法分析以及实际的前端开发设计,全面地测试了应聘者的理论知识和实际操作能力。
【百度2010校园招聘Web前端开发笔试题解析】 这次百度的Web前端开发笔试题主要涉及了HTML、CSS、JavaScript以及Linux基础等知识点,旨在考察应聘者的基础技能和问题解决能力。以下是对这些题目的详细解答: 1. **...
前端笔试题整理(附答案)2021 pdf.pdf 本文档主要涵盖了前端开发中的一些基础知识点,包括JavaScript基础、Object.create、instanceof操作符、新操作符、Promise等。 1. JavaScript基础 JavaScript是一种高级的...
web前端开发工程师笔试题及答案.pdf
题目给出了四个选项,正确答案为B,即使用标签,并将其src属性指向所需嵌入的资源路径。这里的标签用于嵌入外部应用或交互式内容,如视频、音频、PDF等。... 面向对象多态性知识点: 面向对象程序设计中,多态性是核心...
根据给定文件的信息,我们可以提炼出以下相关的IT知识点: ### 1.... ...这些标签包括: ... - `<head>`:包含了关于文档的元数据,如文档的标题、使用的字符集、样式表链接等。...- `<title>`:定义文档的标题,在浏览器的...
4. **Web前端笔试题与面试题** - 常见的前端面试问题可能涉及HTML5新特性、CSS布局、JavaScript基础、ES6语法、Promise和async/await等。 - Vue面试题可能涵盖Vue的组件通信、生命周期、状态管理、性能优化等。 ...
【百度2014校园招聘WEB前端开发笔试题目解析】 1. form标签和a标签的target属性:在HTML中,form标签的target属性用于指定表单提交后打开新页面的方式,其可选值包括_self(默认,当前窗口或框架加载)、_blank(新...
百度校园招聘笔试题-WEB前端工程师-电子科技大学.pdf 百度校园招聘笔试题-市场部.doc 百度校园招聘笔试题-搜索研发类.pdf 百度校园招聘笔试题-研发工程师.pdf 百度校园招聘笔试题-网络工程师电子科技大学.doc 百度...
根据给定文件的信息,我们可以总结出以下相关的IT知识点: ### 1.... ...这些标签包括: ...以上知识点涵盖了Web前端工程师需要掌握的一些基本技能,包括HTML、CSS、JavaScript以及与之相关的工具和技术。
百度校园招聘笔试面试题合集 深度学习、移动开发、系统研发、web前端
现在五块钱的付出,将来收获的可能是一份心仪的offer,干货满满,建议下载。 此套题集从去年4月份开始到现在,有专人亲自去面试收集的企业真题,并总结精华,不要用其他人的那种大杂烩和这个相比。...
回忆版.pdf百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题.pdf百度校园招聘笔试面试题合集百度校园招聘笔试题web前端2013.pdf百度校园招聘笔试题产品2.pdf百度校园招聘笔试题产品经理2014.pdf百度校园招聘笔试...
这份"超全前端笔试面试题(包括腾讯,百度,人人等等)"的资源集成了HTML、CSS和JavaScript等核心领域的常见问题,旨在帮助求职者充分准备,以应对来自腾讯、百度、人人等知名公司的面试挑战。 1. **HTML知识点**: - ...
`<!... 【Array对象去除重复项】 在JavaScript中,可以创建一个新的空数组,然后遍历原数组,将每个元素添加到新数组中,如果新数组中不存在该元素,则添加,否则跳过。如下所示: ```javascript ...