刚刚面完搜狗,有种莫名其妙的感觉,哪里莫名其妙呢?听我慢慢道来。。。

开始面试官就这简历,问了一些有的没的东西,都不深(好吧我承认之前的经历有点菜,没神马加分项啊)。

后面开始技术面:

知识点1:JSONP

跨域有哪些?(我blablabla和JSONP)JSONP怎么实现的?(我JS代码写写写)那后台代码该怎么写?(好吧,这块确实不熟,看来得写写了)

知识点2:类

JS类怎么写的?(我写的function somedate(){} somedata.COMMON = 500; somdata.prototype={})你那个somedata.COMMON定义的常量,以后new时能得到吗?跟直接定义在prototype上有啥区别(擦,我这是自己给自己挖坑了么?回答此处省略。。。)那创建新的实例,new somedata()和直接somedata的区别?(不new是全局变量)怎么避免?(检测是不是somedata对象,不是new)怎么检测somedata对象?(说了个instance,不知道全不全)除了new以外,用call怎么创建新的对象?(好吧,这块不是很确定。。。写了个东东)用你这个call,原型上的方法能取到吗?(额。。。又不确定,随便答了答,说可能不能,要不继承干嘛还这么这么写。。。)呦,我还没问到继承呢(o(╯□╰)o,我只能囧囧的说,继承也就是为了取到原型上的方法。。。)

PS:后来亲自写了个代码实验了下,somedata.COMMON这样定以new对象实例后实例不能访问,只能直接写somedata.COMMON来访问;但写在prototype上的实例可以访问,甚至可以重写,用call创建实例的话,是取不到原型上的方法的,倒是可以取到构造函数里的方法

知识点3:事件模型

一个页面里有个DIV,点DIV外面它关闭,点里面不用关闭(document绑定关闭,div绑定不关闭,设置个全局变量确定是点在了里面还是外面)

PS:之前答时提到了取消冒泡,结果面试官说,万一里面好些控件,取消冒泡好么?于是我才答的上面那个,不过后来又面的家公司也问了这个,我直接答的上面的,结果被鄙视了,说应该取消冒泡。。。

知识点4:CSS方面IE的兼容性

这里犯二了,说有很多很多,比如css3IE不支持的单独写,以及IE的一些bug,不知道从哪儿说起。。。(真二啊,说几个能死么能死么?!)

知识点5:一个DIV上的提示框,当div到页面顶部时怎么办?(显示到下面)怎么判断?(blabla)考虑过兼容性问题吗?

然后我问问题:

你们开发使用框架吗?(原生多一些)怎么封装的?(就告诉我会有封装。。。貌似不愿意告诉我技术细节。。。难道这个很隐私?)

面完了感觉就是。。。基础问的好细啊。。。有些不是很确定,晚会儿写点代码测试下。。。恩。。。

-------------------------------------------------------------------------------------------------------

第二天收到了二面通知,于是开始了我悲剧的第二面,这个面试面完我好久都在怀疑自己的智商是不是真的捉急T T

二面面试官只问了我一个问题:写一个函数,把string转化为Int

我第一反应写出了:先判断是不是string,如果是parseInt()

面试官看了,说不是这个意思(其实我也觉得不该是这个意思),不要用parseInt,然后我吭哧半天,开始想怎么判断是不是123阿拉伯数字(想编码是啥),刚准备下笔,面试官又说,不用考虑容错,就是123这样的string。。。额,我的思维又跑偏了,于是囧囧的写了个循环,意思差不多是第一位取出来乘以10的length-1次幂,然后取第二位乘以10的length-1-1次幂,blabla,然后面试官顿了顿说,这是最直接的写法,有没有其他的,然后我用我困得不行的脑袋想了想说,不造。于是面试官说,位移知道吧,二进制第二位就是1X2,那十进制呢?瞬间我脑子里开始想,二进制有位移操作符(如<<),十进制是个啥呢?一阵沉默后我告诉他我不造,他说,十进制就是1X10。。。我囧囧有神了一会儿,然后他问,现在有思路了么,我又一阵冥思苦想,然后还是不知道啥意思,他又提示,比如1234,1的话就是1,12的话相当于1X10+2,123的话相当于12X10+3,有思路了么?写一下,不用写for。。。好吧,我表示我又犯二了,脑子开始想这是递归么?最后卡了半天也没写粗来(有点脑子一片空白的感觉),于是面试管说,这个很简单啊,就是num=num*10+str[i]啊(其实我不记得他写的啥了,只是后来反应过来应该是这个,姑且算他写的也是这个好了,o(╯□╰)o)。。。

这个暂时算完了,他又问,这种string能有几种形式,对应输出该是怎样?比如如果是-1(string),则输出-1,这个怎么实现?我说判断第一个是不是-,如果是就加个0减去这个数,他说,应该是负号后面的调用下函数,然后再加负号。。。我表示我回答的又low了。。。他接着问,还能有啥?我说,浮点数吧,1.23输出1,判断有没有.,他问,还有呢?我提了下,日期?正负无穷?科学计数?然后说了说实现,他问,还有呢?额。。。脑子又不够用了,还能有啥?他后来提了下,那汉字呢。。。我恍然大悟,就写判断是不是“一”,如果是“一”转化为1,,以此类推,他又问,这种用什么类型定义比较好?我回答的用对象,他又问,具体怎么操作呢?我囧囧的说,估计要把百,千这种也得写出来。。。然后他又问,像“一百二十四”这种,不能把百和十抽出来么?额,我说应该可以,隔一个抽取一个,不过貌似也有例外啊,比如三百零四,然后他就说,算了不问了,汉语太复杂了。。。o(╯□╰)o

下面就是问,当时刚毕业时有几个offer,现在这次找工作已经有几个offer。。。我实话实说,搜狗是我面的第一家稍微大点的互联网公司,其他大公司还没投,小公司面的基本都有offer,(感觉又要被鄙视了,呜呜)然后我就回来了,路上都觉得一阵郁闷。。。

感觉搜狗面试官很有意思,问的问题真的很少,但都很喜欢一个问题往死里问,其实还是很基础的,而且这种网上基本上没有重复的面试题,今天发挥的很差,除了真的天很热我很困以外,最主要原因还是编程底子欠佳,以后得多练习。。。

后面还有其他面试,等被虐完后再发上来吧。。。

-------------------------------------------------------------------------------------------

突然接到电话,进三面了,各种受宠若惊啊~~回头再更三面 恩

三面没神马东西,主要问了些个人情况,然后问了道题,如果是购物网站,当你想买个东西,底部会出一些其他物品推荐,这个怎么实现?(见淘宝)不是从技术的角度,单纯考思维。我答了搜索历史记录关联,然后就卡住了,后来面试官提醒了下,又答了个购买群里关联,然后就回去等消息了。

后来给offer了,不过因为各种原因我已经入职了一家 = =

2014搜狗前端面经【A事业部】的更多相关文章

  1. 2014搜狗前端面经【B事业部】

    本来就投了一份简历,后来又收到了个B事业部的面试电话,今天刚面完一面,总体感觉还是很基础的,其中一名面试官帅到不行啊!另一个也不差,真是幸胡...(sorry,跑题了...) 上来先做了份笔试题,超级 ...

  2. 前端面试题2016--HTML

    本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的!不可能的!不可 ...

  3. 各大互联网公司前端面试题(js)

    对于巩固复习js更是大有裨益.    初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型 ...

  4. 第136天:Web前端面试题总结(理论)

    Web前端面试题总结 HTML+CSS理论知识 1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服 ...

  5. 前端面霸系列(1):doctype 、Quirks Mode & Standards Mode 、document.compatMode

    近几日,气压猛降,雾霾铺天盖地,眼看一场腥风血雨就要在前端江湖爆发,这场战争不仅是百度.腾讯.阿狸.搜狐网易新浪等江湖豪门抢夺人才的大战,也是诸位江湖人士重新洗牌的好时机.每年10月,江湖的波动胜过华 ...

  6. 前端面试题 之 JavaScript

    昨天我们一起分享了关于html和css的面试题<前端面试题之Html和CSS>,今天我们来分享关于javascript有关的面试题.我面试的时候最害怕面试官问我js了,因为我真心不擅长这个 ...

  7. 【web前端面试题整理02】前端面试题第二弹袭来,接招!

    前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 Jav ...

  8. 前端面试题(html篇)

    前端面试题(html篇)

  9. 2016最全的web前端面试题及答案整理

    面试web前端开发,不管是笔试还是面试,都会涉及到各种专业技术问题,今天小编整理了一些常见的web前端面试题及答案,希望对大家有所帮助. 1.常用那几种浏览器测试?有哪些内核(Layout Engin ...

随机推荐

  1. code manager tools git的使用;

    git的使用 一.下载及安装: 1.下载:https://github.com 2.安装: 二.常用命令: 查看.添加.提交.删除.找回,重置修改文件 git help< command> ...

  2. 操刀 requirejs,自己动手写一个

    前沿 写在文章的最前面 这篇文章讲的是,我怎么去写一个 requirejs . 去 github 上fork一下,顺便star~ requirejs,众所周知,是一个非常出名的js模块化工具,可以让你 ...

  3. ccnu-线段树联系-单点更新2-B

    B - 单点更新2 Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Des ...

  4. Android构建boot.img(一):root目录与ramdisk.img的生成

    以TCC88XX为例,当在Android顶层源码目录使用make编译完成后,会生成这样一个目录: out/target/product/tcc8800,该目录内部有我们需要的boot.img和syst ...

  5. GUI for git|SourceTree|入门基础

    原文链接:http://www.jianshu.com/p/be9f0484af9d 目录 SourceTree简介 SourceTree基本使用 SourceTree&Git部分名词解释 相 ...

  6. [Swift 语法点滴]—— Struct Vs Class

    摘自:stackoverflow.com/questions/24232799/why-choose-struct-over-class Structure instances are always ...

  7. Linux下安装Android Studio(ubuntu)

    一. 安装Android Studio 1. 添加源,按回车键继续 sudo apt-add-repository ppa:paolorotolo/android-studio 2. 更新源 sudo ...

  8. 打印Dom对象的所有属性和方法

    <html> <head> <title>Test</title> <meta http-equiv="Content-Type&quo ...

  9. (C#基础) byte[] 之初始化, 赋值,转换。

    byte[] 之初始化赋值 用for loop 赋值当然是最基本的方法,不过在C#里面还有其他的便捷方法. 1. 创建一个长度为10的byte数组,并且其中每个byte的值为0. byte[] myB ...

  10. Heritrix源码分析(四) 各个类说明(转)

    Heritrix的类的确很繁琐,往往继承了一层又一层,最多的继承好像有7层.下面就一个包一个包的说明每个类的作用,由于里面Heritrix组件分明,很多组件没用到的同时该组件的类我也没怎么接触,所以这 ...