黑马程序员技术交流社区
标题:
即使十面霾伏,大厂offer照拿不误
[打印本页]
作者:
就业高冷派
时间:
2016-12-24 12:55
标题:
即使十面霾伏,大厂offer照拿不误
本帖最后由 就业高冷派 于 2016-12-24 13:07 编辑
参加者: 就业部-靓仔;日 期:2016-12-20;
公司名称:某上市大公司;
地址:环普科技产业园;
面试经过:
一周之前都有过联系,一直邀请我过去面试,但是这边错不开时间,由于商量后安排了一场电话面试,于是在一个明媚的下午,初试就在电话中开始了:
Q:你好,是xx嘛?我是xx公司的技术负责人,之前联系过你,方便进行个电话面试吗?
A:你好,我是,您问吧!(谦虚礼貌什么时间都是要的!)
Q:恩,听人事说你做前端已经好几年了,能简单说说你的从业经历吗?
A:恩,好的,我刚开始是在北京开始做的,当时的公司是做xx(此处省略N多字,这个建议大家从公司的情况说,然后说说所用到的技术,自己负责哪块等等。PS:对于具体的技术点如果自己比较熟,完全可以拓展下,说说什么样的业务场景,需要这个技术,这个有什么优点等等,结合个人的情况进行说明即可,最好能够把他们公司现在的需要的技术也能体现出来);
Q:恩,那前端这边这边布局什么的应该没问题吧?(
越是大公司,对于基本功要求越高,大家好好练习基本功哦!
);
A:这个应该没什么问题,因为我做了两年的页面开发,只是业务场景不同而已,在北京时候是做xx,后面的一家是做xx(这个根据自己的经历来说,如果没有的相关的经验的话,就说这些是基本功,我自己也写过不少,回头可以给他看看); Q: 嗯,如果一个定位元素要进行上下左右居中,怎么处理?(经典的面试题啊,基本每家都问) A:父级相对定位,子级绝对定位,子级left50%,margin-left 负的宽度一半,上下居中也是一样,top50%,margin-top负的高度一半;
Q:恩,那除了静态页面,js怎么样?(js是前端基本功啊);
A:恩,之前我们是用angularjs开发,现在项目组用原生js开发比较多,所以js更熟悉点(
记得引导,让面试向有利方向发展
);
Q:==和===有什么区别?(在js中,=是赋值哦,别记错了)
A:==是内容相等,也就是说"1" == 1;会有隐式转换的;而===是内容和数据类型完全相等,也就是说"1" === 1是不成立的;(这块大家要牢记,尤其是和后台有交互的时候,建议用===不然会出现问题);
Q:如果要获取一个元素的父节点,应该怎么获取?
A:这个在js中,可以直接通过ele.parentNode()获取到, 在jq中可以通过$(ele).parent();获取到;jq的方法里面是可以传入选择器的;
Q:jq里面获取元素的方法都有哪些,能简单说说嘛?
A:这个方法比较多,和css选择器有点类似,比如说,通过标签选择,通过层级关系选择,比如说是后代选择器等,还有通过className选择,id选择,还有些可以选择当前元素的上一个,下一个元素,比如next(),previous()等等;(jq的选择器方法很多,这个可以对比着css选择器记忆);
Q:那你目前有有写过比较好的东西吗,能简单说下嘛?(
这个不用纠结,只要能把你写的东西的功能,思路,实现,如何使用,说清楚就行了,可以是自己封装的小插件,也可以是自己写的组件,或者自己封装的小框架,不用太纠结说什么
);
A:恩,最近刚写了个点名器,封装成了组件,方便调用;点名器是随机点名,把名字都存在一个数组里面,然后通过按钮随机抽取,当然原生js实现很简单,但是我把他封装成了组件,让别人用的时候,引入js,然后像angularjs一样,在页面中,只需要一个div,加个一个名字,就能动态生成所有部分,进行调用了;现在简单说说具体实现吧,因为通过className要动态生成,所以首先判断,页面中是否有这个className的div,然后进行动态创建。。。(此处省略N多字,大家可以根据自己的东西,具体说明实现过程,最好中间能说明你为什么这么做,或者牵扯到知识点,那也是加分项);
Q:(笑了下)呵呵,(态度从刚开始的公事公办,逐渐转暖,这个说明之前的回答总体还不错)这个东西听起来还不错,那你对于js的原型链了解吗?
A: js的原型链,类似于作用域链,最顶层是Object,然后一层一层往下一直到实例部分,而在实例上找某个方法或者属性的时候,会一层一层给上找,一旦找到,查询就结束,不会再给上找,否则会从沿着原型链一级一级给上找,找到Object,如果还没有找到,那就返回一个undefined,由于这种机制,所以在给原型上面添加方法属性的时候要特别注意,写之前判断下,以免复写原来的js的方法;(js oop这边也是面试必备重点)
Q:呵呵,对,那js中typeof返回值都有哪些?
A:undefined, string,function,number,object(其实是在考js的数据类型了,但是要注意,null返回值是object,NaN返回值是number哦);
Q:恩,对,那数组中的方法你熟悉吗?pop和shift都是什么意思,有没有参数?
A:pop是尾部弹出,shift是头部弹出,这两个都不需要参数的,相对应的方法,push,unshift分别是尾部推入,和头部推入,都是需要传入参数的,参数就是你要添加的项(对于自己会的,尽量可以多说);
Q:对ajax你熟悉吗,那如果我获取过来的数据是json格式,那我怎么转换?
A:对于数据处理,js有个方法是JSON.parse(),jq也有个方法是$.parseJSON(),还有个之前用过的方法eval()也可以实现,但是不推荐用,因为严格模式下会出错;
Q:那你从后台获取数据,有没有遇到什么过什么问题?
A:我一般遇到比较多的是404的问题,或者5xx(这个是服务器端的问题);
Q:那有没遇到json格式不正确,导致解析解析时候报错?你怎么处理的?
A:这个我没遇到过(这个我确实遇到比较少,到时也没有回答出具体的方案,现在想想貌似很多在线格式化工具能用,不知道对不对,欢迎各位童鞋补充);
Q:好了,我的面试就这些了,后面我会安排复试,请注意接电话!(给出了明确的意向哦!)
A:好的,谢谢!--------------------------------------------------------------- 初面就此结束 -----------------------------------------------------------------------
经过两边时间上不断交涉,时间终于敲定在20日,那是个雾蒙蒙的下午,走在路上,有种十面埋伏,四面楚歌的悲怆感,哦不对,应该是种荆轲刺秦王的悲壮感,感觉好像也不对,还是看图把,这些是我在公司的附近拍的 *****
然后和人事联系,人事让我在前面大厅等等,图片如下***
最后来了,带我上楼,发现等待面试的人挺多的,
带我进入了一个会议室,一会儿来了一个男的,说是项目经理,简单介绍了下自己,就开始了复试:
Q:你好,xx是吧,之前我们技术有电话面试过你,对你评价挺高的的,你觉得他的问题怎么样?(从语气听来,针对性很强啊,不卑不亢,也不能说太简单,否则分分钟入坑)
A:恩,很多问题问的都是比较基础的,但是对于很多大公司来说,对于基础往往是比较看重的,因为他们内部可能有自己的框架,基础好点,上去能够快速上手,这个也是公司所期望的,但是现在很多人本末倒置,流行什么框架,就去学什么,用的时候,出现了错误,其实大多都是基础薄弱导致的,相反,对于一个基础比较扎实的人来说,这些框架,公司需要什么,针对去学就行了,一般也能够快速上手,比如我之前学习angularjs也是根据项目需要去学的,所以咱们技术部门同事的问题虽然基础,但是很专业,也是符合公司的需求(这里不论怎么说,总之一点,不要压低技术面试的同事去显示自己多厉害,而是要肯定技术部面试官,另外不要说很熟练或者精通之类的词,不然他下一个问题保证砸晕你,之前就遇到过,我当时说我js是中高级水平,人家就来个,js的聚合怎么实现,重载呢,分分秒秒被秒掉)
Q:恩,你说的很对,这个确实我们很看重的,那你在平时开发中,有遇到过哪些bug,你是怎么处理的(这个看平时积累了,如果大家没有经验,可以记一些比较常见的bug,然后详细说明)
A:之前在最早时候,我们有做过兼容ie低版本,比如ie6,ie7,比如说,fixed定位,在ie6下面是不兼容的,我当时处理方法,是通过absolute进行处理,因为fixed是始终相对于浏览器窗口进行定位的,所以我把这个需要fixed定位的元素写在最外边,用absolute定位,定位父级,也就成了浏览器窗口,也是就相对于浏览器窗口定位的,这样就能模拟出fixed的效果了(页面内容多,出现上下滚动条我没测过,当时内容比较少,这样是可以的);还有个是透明度,在标准浏览器和ie低版本是不同的,标准浏览器是opacity后面加上零点几,但是在ie低版本上面是这么写的,filter:alpha(opacity: 40);这里的四十,也就是出现的值是0-100之间的数,而不是0-1之间的小数了;在布局中,一般我们div很少有固定高的,有时候会碰到这个情况,上面的div有个margin-bottom:10px,下面的div有个margin-top:20px;本来应该是30px,但是实际上,只有20px,这个是距离会取到最大的距离,这种情况,一般处理,1,在添加margin的时候,都添加一个上,防止这种情况发生;2,使用overflow:hidden;进行处理;(这个实际上是问bug问题,如果没有具体要求,大家随意发挥,布局比较厉害就拿布局来说,js厉害,就说js)
Q:你之前离开的原因是什么,你们那家公司不是挺好的嘛?(非应届生,经常会问)
A:离开的原因主要是因为内部分配不合理,导致加班比较多;我们之前的项目,是用angularjs开发,完了之后需要进行打包apk,然后用公司手机下载测试的。我们前段技术有11人,测试4人,他们属于公共资源,测试好几个组的功能,但是我们手机就这么多,经常出现的问题,会要等,或者他们会把你的apk删掉,然后重置apk去测试其他组,这种导致我们的中间的等候时间比较长,不得不加班,这种问题反映过,但是一直没有改进(说说自己也针对这个问题沟通过),除了这点,整体公司还是挺不错的(
不要把上家公司说的那么烂,不然面试官会觉得他们也可能是下一个烂公司
,呵呵);
Q:恩,之前你又了解过我们公司嘛,我们公司对于英语是有要求的,主要是日常交流,现在给你5分钟,简单做个自我介绍(
代码会,英语好,会有更好的机会
)
A:OK,first of all,thanks for your time(第一句就感谢,礼貌还是必须的)My name is ....(
这里,如果英语好,可以自我介绍完了,说说自己的前段职业生涯什么的,进一步加深印象,如果英语不好,那就自我介绍多说点,不要说的太快,否则面试官突然插进来的一个英语问题,你的懵逼了
);
Q:呵呵,好点,我这边没什么问题了,你稍等,人事会过来再跟你谈谈(英语好点,有时候也能让人留下深刻印象,比如之前一直是没有表情,听过自我介绍后,就笑了起来)
A:恩,好点,谢谢!
过一会人人事过来了说,项目组对你也挺满意的,但是这边你之前的公司和咱们公司属于同一个集团,而且之间相距时间不够一年,所以我们薪资只能够平移,不能再涨,这个可以接受吗?
A:恩,可以(很多公司由于属于同一个集团,相互有竞争,薪资也会有这个情况,大家入坑时候,一定要了解情况,否则就骑虎难下了)
Q:好的,还有点,因为同一个集团,不允许相互挖墙脚,所以不能走公司邮件offer方式,我这边先口头offer恭喜你面试通过了,薪资是8.5k,回头你入职需要的材料发你微信怎么样?
A:好的,谢谢!
Q:恩,那今天就到这里了,回头记得查收微信!
A:好的,谢谢;
--------------------------------------------------------完 --------------------------------------------------------------------------------------------------
总结: 面试时谦虚有礼,不卑不亢,能赢得不错的印象分,但是对于技术的绝对自信,才能决定你的去留以及是否谈薪资的资格!而对于技术的自信来源于不断的学习和练习;再牛逼的梦想也抵不过傻逼似的坚持,努力,坚持,然后你会发现,未来一片光明!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2