[2015KPMG毕马威笔试经验]先说一下我背景吧,我是上海复旦大学旁边的某个知名财经大学的学生,专业是工商管理,成绩一般般,在工商管理班是属于倒数的,不过放到年级上就是前30%的水平,所以填成绩排名时从来只...+阅读
随着各大互联网公司设立了web前端开发工程师、设计工程师等职位,web前端越来越得到互联网企业的认可。而且其重视程度与地位也随着浏览器端的富客户端的体现而日益提高。 眼前对html5的未来和走向,业内的预测是会和flash、silverlight等相结合,从而取代传统的客户端应用程序。而实现这个目标的客户端核心工作是有web前端工程师来完成的。 从另一个角度,对于web产品来说,交互和用户体验是产品的第一价值,这部分价值的体现就是在web前端。可以说web前端是一个web产品的长相和谈吐、行为。
下面就简单的说明一下web前端的组成部分。
1. ui设计部分
这是web产品化的第一步。这个部分通常在稍大型的公司里,被单独设立为一个部门或者一些人来工作。主要是要掌握photo, ai,可以很快的将创意转化为平面设计图,并制作png等小图片。 同时,ui设计还要预包含用户交互设计的元素,如何和用户交互的基本原型等。
2. html/css,页面静态化
这是web产品化的2步,就是将ui设计师的设计图切成静态页面。这里的“切”不是单纯的切,而是使用css里面背景色和边框样式等方式对设计原稿进行解读,并形成符合web标准的html代码。这里web前端还需要将图片、html页面以及css样式进行合理的文件分布安排等
3.ja, as 客户端动态化
这是web产品化的3步,工程师使用dom操作、ajax,实现数据和服务端的通信以及本地样式的切换。同时,由于ja、as是一门动态语言,所以这部分的编码要求web前端工程师有较好的编码习惯,能写高效率的oop代码,并对代码进行压缩上线以降低带宽消耗等。
4.flash、silverlight、video 多媒体化
这部分针对不同web产品有不同的要求,通常要求是可以使用flash和web、server进行交互,并对flash进行设计与开发。
5.php、ja等cgi, 服务端通信基本知识和编码
这部分主要是更好的使用ajax等技术,了解服务端的工作方式将更有利于web前端工程师工作的开展。通常优秀的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客户端技术未来趋势发展谈谈看法
ja + 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,我会搜索到.jquery.,然后看docs、samples
如果要用到项目中,有困难的问题,我会svn得到最新的这个技术的源码,深入跟踪进去,看实现原理
一般现在涌现的技术都是opensource
提问时间
1百度web开发脚本是否有做类似yui库的打算
2百度web开发工程师打算招多少人
百度电话二面回忆 web开发部–web开发工程师
首先是自我介绍
然后谈谈做的web项目
然后开始问技术问题
前端开发的优化问题
答:
产品发布时,js的压缩,即函数名替换、整个文件压缩成一行
css开发的时候 注释写清楚,先有个base.css,然后根据不同页面需要再加css,发布的时候将css中的一个定义写成一行,目的是压缩文件大小
最终发布的时候甚至可以将css,js分别压缩成一个文件,甚至css、js通过技巧压缩到一个里边(亮点)
这样的目的是,减少用户访问web产品的连接数
web前端产品的开发流程
答:首先根据产品的定位、用户群,确定配色,然后纸上设计整体布局,然后png或者psd出效果图,切出需要的小图片,然后手写代码div+css构造出页面,然后根据功能写脚本
参考126邮箱首页,将所有小图片放到一个图片中,通过css的background-position实现页面,还是为了优化,减少连接数
规避ja多人开发函数重名问题
答:首先是通过命名规范,比如根据不同的开发人员实现的功能,在函数名加前缀,虽然函数名看起来复杂,发布的时候还是可以替换,从而优化。
还有一种办法是,每个开发人员都把自己的函数封装到类中,然后调用的时候即使函数名相同,但是因为是要类.函数名来调用,所以也减少了重复的可能性。
ja面向对象中继承实现
答:我是用prototype extend扩展
然后子类中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实现的基本原理
答:
将功能封装
比如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 xmlrequest,而ie是
try new activexobject(’msxml2.xml’) try new activexobject(’microsoft.xml’)
ff下面实现outerhtml
答:.pare.firstchild .parent.innerhtml
这个没答好
正确答案:原理是,get:取到这个标签的tagname,然后属性循环构造成这个标签的属性
set:把字符串用before插入到这个元素前面,然后removechild这个元素
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前端技术的展望
答:ja ajax;flash as;flex;sliveright
附上网上的百度web开发工程师笔试问题集
1编写一个方法 求一个字符串的字节长度
2编写一个方法 去掉一个数组的重复元素
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创建request实例的方法不一样。。等等。。
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算出字符串中出现次数最多的字符是什么,出现了多少次
6写出3中使用this的典型应用
在html元素事件属性中inline方式使用this关键字:
7.最后一个问题是,如何制作一个bo选项,就是可以输入可以下拉菜单选择。
这个网上有很多成品,主要是通过绝对定位和相对定位结合的方式,改造原有的select 标签和input标签的方法。
附上ja正则表达式的基本知识:
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;
延伸阅读:
2015重庆移动校招笔试经验重庆移动重庆地区的校招终于是告一段落了,今天刚好闲下来,想想移动校招这一路走来,还是有所收获,自己也是从前辈的帖子获取了很多信息,所以在这里也跟大家分享下自己一路走来的经...
2015天职国际网测笔试经验我坐标南京,非211非965学校,投的也是南京所。一直很中意天职国际,实习的时候和天职是同一座大厦,那时候就很希望能去楼上工作,所以宣讲会的话特地从江宁跑去浦口去听,还算幸运,简历...
2015中国银行笔试经验分享今年中行笔试时间好早啊!是所有银行中最早的一个了,楼主之前准备了两个月,今天考完的感觉就是、、、都白看了= =超级难!好吧可能有些复习的好的觉得还行吧,废话不多说,直接上。...
衣恋2014笔试经验30日晚广州在中大笔试。 什么文具用品都不用带,现场会发(其实只有一支笔而已,要用修正带可以跟工作人员借)。 hr一上来就跟我们说,这次笔试非常难,甚至有人一道题都做不对什么的...
安永2014年笔试经验分享关于考几道 怎么考 时间巴拉巴拉的就不赘述了 就简单说一下我记得的题目吧 Verbal 比较多以下哪个正确或者以下哪个错误的题目 比较麻烦 难度递增 一篇文章2道题 1. GPS定位...
欢聚时代2017校招产品经理笔试经验今年的笔试是在华工五山校区举行的,风尘仆仆的从大学城赶过去啊!去了之后按照短信的通知找教室,教室里有笔试技术的也有笔试产品的,没有固定位置,但按照一列技术类一列非技术类...
中行2015校园招聘笔试经验我2014年11月1日下午1点30到4点30参加了中国银行2015校招笔试,上午在仙林南邮参加江苏电信笔试,2个小时的时间内赶到了江宁南医参加了中行的考试。以下是考试内容和时间段,都是...
百度2015软件开发工程师笔试题百度的题总体来说不难,都是一些基础的题。好像近几年都有这样的趋势,计算机网络,操作系统,数据库,每个基础课出一道题。接着是三道程序设计题。最后是系统设计题。所以好好看计算...
笔试的几个面试技巧笔试的几个面试技巧1.科学答卷拿到试卷后,首先应通览一追,了解题目的多少和难易程度,以便掌握答题的速度,然后根据先易后难的原则排出答题的顺序、先攻相对简单的题,后攻难题。这...