掌阅前端面试总结

自学前端才两个月,觉得自己看书进步太慢,决心一定要迈过实习这道坎。从7月中旬开始了面试之旅。到目前现场面了三家企业,美团、妙计旅行,还有掌阅。美团被拒了,好伤心,不过自己也的确还处于超级入门阶段,达不到人家的要求,现在好好学习,努力练技术,希望以后能够加入心仪的公司。
掌阅是第二家拿到offer的,可能就要这家企业开始我人生中第一份实习了,现在记录下自己的面试经历,总结的同时也是个纪念吧。
掌阅在四惠大厦,旁边有条河,脏脏的,,,感觉比学校门口的卫津河还要脏呀。。。今天去面试穿了长裤,太阳又大,走到公司都瀑布汗了。。。掌阅在二层,里面有好几家公司,在尽头看到了iReader的标志总算松了口气没走错。
前台姐姐给了个基本情况问卷,还有笔试题,纳尼!来面试竟然还要先做笔试题!!!当时我就震惊了。好吧,正好可以检测前一段时间学的东西。。。问卷还要填星座血型啥的,,,公司是要靠这个进行性格分析么。哼哧填完问卷开做笔试。

笔试题有两张A4纸,分CSS和JS两块,都是考一些挺基础的知识。

笔试

CSS

1.怎么让一副不知道宽高的图片在水平和垂直方向上居中在一个边长为200px的盒子中。
2.知道的清除浮动的方式有哪些?zoom的原理是啥。
3.webview、webkit是啥
4.实现他们的一个页面的布局
5.自己写CSS的习惯是什么,,表示这个问题不太明白,瞎掰了点啥驼峰式,样式用class、要被JS获取用id啥的
6.html5和CSS3都了解什么
7.现在流行的布局有哪些,表示不太理解这个题的意思,瞎写了啥响应式布局。

JS

1.给定一个字符串,给出里面现次数最多的字符以及次数,例如下面这样的字符:

var str='afjaslfjaieaaajeijfei';

哇咔咔,虽然写过的JS代码不多,好像会耶这道题,我想了一下可以用一个对象来记录,对象的属性就是字符,属性值是其次数。咔咔开写:

function countMaxTimes(str){
        var oCount={};
        var len=str.length;
        //统计每个字符出现次数
        while(len--){
            var char=str.charAt(len);
            if(oCount[char]){
                oCount[char]=oCount[char]+1;
            }else{
                oCount[char]=1;
            }
        }

        //获取出现次数最多的字符
        var maxChar='',maxTimes=0;
        for (eachChar in oCount){
            if(oCount[eachChar]> maxTimes){
                maxChar=eachChar;
                maxTimes=oCount[eachChar];
            }
        }
        return{
            char:maxChar,
            times:maxTimes
        }
    }

因为对JS还用得不是很多,中间想不起怎么遍历对象中的属性了,还卡了好一会儿,后来总算想起for in可以做到啊皇上!
那么补充一下for in的知识:

for(varable in obj或array)
可以遍历对象属性或数组元素
其中,varable是对象的属性名或者数组元素的下标,是下标哦,不是数组元素本身

这道题虽然很基础,但是发现利用对象属性的方式来记录信息真的好好用,之前面试也遇到过。另外这也是我第一次使用obj[varable]的方式来访问属性,这样属性名和属性值一一对应可以记录相对应的两个数据了,这种方式不要太好用哦!
其实数组也是可以这样用的。
2.说说this的三个应用场景
3.JS都有哪些数据类型,分别返回false的时候是什么值。
4.用jQuery实现一个tab选项卡,摔啊,jQuery API还没过完,当时我就懵逼了,不过自己也写了点。
选项卡结构是酱紫的:

<ul id="tab">
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
<p>A</p>
<p>B</p>
<p>C</p>
<p>D</p>

当时不会,但是下来一定要把它给整明白了,自己查了下jQuery的API把它给实现啊哈哈哈:

$(document).ready(function(){
    var tabTitles=$('#tab li');
    var tabConts=$('#tab~p'); //选项卡内容

    tabTitles.on('click',function(){
        tabConts.css('display','none');
        var index=$.inArray(this,tabTitles);
        tabConts.eq(index).css('display','block');
    });
});

这里主要用到了$.inArray(value,array)这个方法获取数组中元素的索引值。
好像还有道题吧,尊的不记得了。。。

面试

来了一个小姐姐和小哥,小哥一上来自我介绍的同时还和我握手了,还介绍了后面的姐姐,赶脚很正式的样子呀,放在程序员身上有种违和感哈哈。不过俩人都挺亲切的。
因为做了笔试题,姐姐看了下,问的问题就比较少了。主要是小哥在问:
1.怎么统计代码行数,,升级版的。。。怎么除去注释。
2.操作系统了解多少,进程线程啥的常规题
3.智力题:一个粗细不均匀的木棍从一头烧要60分钟,怎么得到一节可以烧20分钟的木棍
4.讨论我的论文比较多,图像处理方向的,让我讲讲我做的论文是啥。然后又问了个拍出来的照片有一层雾怎么处理,我想了下可以增强对比度,小哥说差不多,blabla说了一个算法,是从最黑的一块反推啥的。。。不懂,然后小哥说我觉得你适合去做PS。。。艾玛,,,好囧。。
然后姐姐又问了说我对CSS、JavaScript哪个更感兴趣,自己的职业规划啥的。。。
最后应该是他们的hr主管姐姐来和我谈后面的,姐姐挺有气质,眼神好犀利啊,根本不敢和她对视很久,好吧,我一遇到气场强大的人就很怂。。
这就是这次的掌阅面试。。。面试部分好像写得很水。就这样吧,嗯嗯,会不会是我第一份实习呢。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值