前端工程师笔试题网站相关.docx

上传人:b****8 文档编号:10666135 上传时间:2023-02-22 格式:DOCX 页数:13 大小:37.72KB
下载 相关 举报
前端工程师笔试题网站相关.docx_第1页
第1页 / 共13页
前端工程师笔试题网站相关.docx_第2页
第2页 / 共13页
前端工程师笔试题网站相关.docx_第3页
第3页 / 共13页
前端工程师笔试题网站相关.docx_第4页
第4页 / 共13页
前端工程师笔试题网站相关.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

前端工程师笔试题网站相关.docx

《前端工程师笔试题网站相关.docx》由会员分享,可在线阅读,更多相关《前端工程师笔试题网站相关.docx(13页珍藏版)》请在冰豆网上搜索。

前端工程师笔试题网站相关.docx

前端工程师笔试题网站相关

前端工程师笔试题

姓名:

_____________________

为了便于我们更准确地评估您的笔试情况,以及在后续面试中更方便地沟通。

请您自我评价一下在以下技术方面的知识/技能水平和项目经验:

技术

知识/技能

项目经验

Html

□精通□熟练□略知□不懂

□丰富□一般□没有

CSS

□精通□熟练□略知□不懂

□丰富□一般□没有

JS原生态

□精通□熟练□略知□不懂

□丰富□一般□没有

JQuery或其他类似框架

□精通□熟练□略知□不懂

□丰富□一般□没有

DOM

□精通□熟练□略知□不懂

□丰富□一般□没有

Ajax

□精通□熟练□略知□不懂

□丰富□一般□没有

ASP.NET

□精通□熟练□略知□不懂

□丰富□一般□没有

SQLSERVER或MYSQL

□精通□熟练□略知□不懂

□丰富□一般□没有

PHP或JAVA

□精通□熟练□略知□不懂

□丰富□一般□没有

其他您觉得自己精通或经验丰富的知识/技能:

_______________________________________________________________________________

例如:

IE和FF的兼容性问题

代码中存在许多document.formName.item("itemName")这样的语句,不能在MF下运行

现有代码中许多集合类对象取用时使用(),IE能接受,MF不能

使用window.event无法在MF上运行

HTML对象的id作为对象名的问题

window.onbeforeunload=function(){}方法360浏览器不识别

1前端技术部分(共6题,6选3)

1.1请使用Javascript实现以下动态效果

可以使用任何你喜欢的方式和库,尽量使用你认为优雅的实现,并在代码完成说简要说明此方案的优点和不足。

(初始状态)

(实现效果:

1、可修改任一条目内容;2、可新增任意个新条目)

提示:

js动态的给table曾删改查行

关键函数:

functionadd(){

varotr=document.getElementById("tab").insertRow(-1);

varcheckTd=document.createElement("td");

checkTd.innerHTML='';

varotd1=document.createElement("td");

otd1.innerHTML='';

varotd2=document.createElement("td");

otd2.innerHTML='';

otr.appendChild(checkTd);

otr.appendChild(otd1);

otr.appendChild(otd2);

}

 

functiondel(){

varc=document.getElementsByName('checkItem');

varidArray=newArray();

for(vari=0;i

if(c[i].checked)

idArray.push(i);

varrowIndex;

varnextDiff=0;

for(j=0;j

{

rowIndex=idArray[j]+1-nextDiff++;

document.getElementById("tab").deleteRow(rowIndex);

}

}

 

functionchange()

{

//获取单元格

vartb=document.getElementById("test");

//获取需要修改的行数

varrow=document.getElementById("row").value;

//判断输入的行是否是个数字

row=parseInt(row);

//如果不是一个整数,将弹出警告框

if(isNaN(row))

{

alert("您要修改的行必须是整数");

returnfalse

}

//判断希望修改的列数

varcel=document.getElementById("cel").value;

cel=parseInt(cel);

//如果需要修改的列不是整数,将弹出警告框

if(isNaN(cel))

{

alert("您要修改的列必须是整数");

returnfalse;

}

//如果需要修改的行或者列超出了表格的行或者列,将弹出警告框

if(row>tb.rows.length||cel>tb.rows.item(0).cells.length)

{

alert("要修改的单元格不在该表格内");

returnfalse;

}

//修改单元格的值

tb.rows.item(row-1).cells.item(cel-1).innerHTML=document.getElementById("celVal").value;

}

//为按钮绑定事件处理函数

document.getElementById("chg").onclick=change;

1.2请说明要输出正确的myName的值要如何修改程序?

并解释原因

foo=function(){this.myName="Foofunction.";}foo.prototype.sayHello=function(){alert(this.myName);}foo.prototype.bar=function(){setTimeout(this.sayHello,1000);}varf=newfoo;f.bar();

DOCTYPEHTML>

02

03

04

05第二题

06

07

08

只需将指向foo的this作为参数传递给setTimeout中的sayHellow即可。

09

原因:

foo.prototype.sayHellow()里的this是指向window,所以找不到this.myName。

10

29

30

vara=newObject();

类似还有这样的一个题目

//下面两句话是否有区别

panyName=“Microsoft”;

a[“companyName”]=“Microsoft”;

//请简述下面两种写法的本质,涉及到javascipt语法的原理

varcompany=function(){};

company.get_name=function(){

return“Microsoft”;

}

varcompany=function(){};

company.prototype.get_name=function(){

return“Microsoft”;

}

对于第一个应该是没有区别的,都是对属性赋值,如果属性不存在就创建的过程

对于第二个,是有区别的第一种写法应该是一个“静态方法”,第二章写法应该是一个“实例方法”,静态方法是可以由function的名字直接点出来的,而实例方法是要new之后才可以点出来

a[“companyName”]=“Microsoft”

有说法这个快点

1.3请按下列要求写出相应的Html和CSS

现有并列的三列布局结构,从左至右依次为A,B,C,宽度分别为180px,600px,180px。

要求在不改变Html结构的情况下用CSS实现:

ABC,CBA,BAC三种布局及在CBA排列下使B宽度自适应(三列总宽度100%),不能使用针对浏览器的CSSHack.

简单地讲,csshack指各版本及各品牌浏览器之间对CSS解释后出现网页内容的误差(比如我们常说错位)的处理。

由于各浏览器的内核不同,所以会造成一些误差就像JS一样,一个JS网页特效,在微软IE6、IE7、IE8浏览器有效果,但可能在火狐(MozillaFirefox)谷歌浏览器无效,这样就叫做JShack,所以我们对于CSS来说他们来解决各浏览器对CSS解释不同所采取的区别不同浏览器制作不同的CSS样式的设置来解决这些问题就叫作CSSHack。

 

1.4完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。

//=============================================================================

varrg=document.getElementsByName("radioGroup");

for(vari=0;i

{

if(rg[i].checked)

{

alert("你选择了第"+(i+1)+"个单选框");

}

}

returnfalse;

类似的checkbox也是一样的操作

1.5填充注释部分的函数体,使得foo()函数调用弹出”成功”的对话框。

代码应尽量简短。

不使用split和join这两个方法,如何实现?

若能使用,如何实现?

===============================================================================A

functionreverse(str)

{

vararr=[];

arr=str.split(',');

vartemp;

for(vari=0;i

{

temp=arr[i];

arr[i]=arr[arr.length-i-1];

arr[arr.length-i-1]=temp;

}

returnarr.join(',');

}

B:

returnstr.split("").reverse().join("")

实际相当于冒泡排序,采用循环临时变量存储

1.6是否了解AJAX,JQuery技术,阅读以下代码,解释所实现的功能

$(function(){

$('#demo1').bxCarousel({

display_num:

4,

move:

1,

auto:

true,

controls:

false,

margin:

10,

auto_hover:

true

});

$('#demo2').bxCarousel({

display_num:

4,

move:

4,

margin:

10

});

});


  • 图片1

  • 图片2

  • 图片3

  • 图片4

  • 图片5

  • 图片6

  • 图片1

  • 图片2

  • 图片3

  • 图片4

  • 图片5

  • 图片6
  • 类似于普通的marquee滚动标签

    2后台技术部分(共2题,2选1)

    2.1举例说明的服务端控件和html标签控件的区别

    1服务器控件是在服务端执行代码,html标签是在客户端浏览器解析

    2服务器空间有viewstate状态,采用事件驱动模式开发,遵守生命周期,html标签则不需要,只是普通的dom操作即可

    3服务端执行过程中会多一道转换成对应html元素的过程,

    而html不用,所以效率更好

    4,其他

     

    2.2简单说明<%#%>和<%=%>有什么区别?

    其实<%#%>也可以类似<%=%>一样使用

    但是必须在Page_load里面添加page.databind();

    展开阅读全文
    相关资源
    猜你喜欢
    相关搜索
    资源标签

    当前位置:首页 > 求职职场 > 简历

    copyright@ 2008-2022 冰豆网网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1