分类: 面试技巧

  • Google面试题–你是否能过关?

    一个朋友接受了Google公司的面试,他透露了面试中的一些问题。顺便,我把从其他几个曾经面试过的人那里听来的内容也整理在一起。最大的互联网公司Google的一份面试题集,看看你是否能够回答出来。

    如果你想知道答案,微博上私信我吧围观自由奇客Freegeeker猎头博客,我会告诉你答案。

    1.    一辆学校班车里面能装多少个高尔夫球?
    2. 你被缩小到只有硬币厚度那么点高(不是压扁,是按比例缩小),然后被扔到一个空的玻璃搅拌器中,搅拌刀片一分钟后就开始转动。你怎么办?
    3. 要是让你清洗整个西雅图的所有窗子,你会收取多少费用?
    4. 怎么才能识别出电脑的内存堆栈顶是向上溢出还是向下溢出?
    5. 你要向你8岁的侄子解释什么是数据库,请用三句话完成。
    6. 时钟的指针一天内会重合几次?
    7. 你需要从A地去B地,但你不知道能不能到,这时该怎么办?
    8. 好比你有一个衣橱,里面塞满了各种衬衫,你会怎么整理这些衬衫,好让你以后找衬衫的时候容易些?
    9. 有个小镇有100对夫妇,每个丈夫都在欺骗他的妻子。妻子们都无法识破自己丈夫的谎言,但是她们却能知道其他任何一个男人是否在撒谎。镇上的法律规定不准通奸,妻子一旦证明丈夫不忠就应该立刻杀死他,镇上所有妇女都必须严格遵守这项法律。有一天,镇上的女王宣布,至少有一个丈夫是不忠的。这是怎么发生的呢?
    10. 在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。这样的国家,男女比例会是多少?
    11. 如果在高速公路上30分钟内到一辆车开过的几率是0.95,那么在10分钟内看到一辆车开过的几率是多少(假设为常概率条件下)
    12. 如果你看到钟的时间是3:15,那一刻时针和分针的夹角是多少?(肯定不是0度!)
    13. 4个人晚上要穿过一座索桥回到他们的营地。可惜他们手上只有一支只能再坚持17分钟的手电筒。通过索桥必须要拿着手电,而且索桥每次只能撑得起两个人的份量。这四个人过索桥的速度都不一样,第一个走过索桥需要1分钟,第二个2分钟,第三个5分钟,最慢的那个要10分钟。他们怎样才能在17分钟内全部走过索桥?
    14. 你和朋友参加聚会,包括你们两人在内一共有10个人在场。你朋友想跟你打赌,说这里每有一个人生日和你相同,你就给他1元,每有一个人生日和你不同,他给你2元。你会接受么?
    15. 全世界有多少个钢琴调音师?
    16. 你有8个一样大小的球,其中7个的重量是一样的,另一个比较重。怎样能够用天平仅称两次将那个重一些的球找出来。
    17. 有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?(提示:有一个海盗能拿到98%的金币)

     

  • Google台湾总经理 教你进Google面试密技

    简立峰,大学考不好,念的是土博士,没有喝过洋墨水,但他却成为Google台湾总经理!他将现身说法,传授进Google的面试秘诀,不只是Google,你到任何企业面试,都受用无穷!

    他面试的企业,位在美国加州帕罗奥图。从早上九点到下午六点,他与十一位主考官见面,一共回答两百多道题目,问题涵盖技术专业、政治话题以及生命哲理。他没喝过洋墨水,英语会话也非顶尖,这还是他人生第一次参加面试。

    不过,一整天面试后,他成了这家企业天字第一号的台湾员工──他就是Google台湾总经理简立峰。

    土博士进Google秘方

    年轻人最想进的科技企业梦幻名单,Google绝对名列前茅。在年轻人心目中,Google不但待遇好,环境舒适,而且进入Google,等于胸前挂上“创新精英”的徽章,走进最高的科技殿堂。

    不过进Google,一定要常春藤盟校毕业、说着一口流利的英文吗?简立峰告诉你,不见得。简立峰大学联考没考好,到淡江电算系就读,研究所才考进台大,成为一位“土博士”,三十三岁才第一次离开台湾,跟大多数人一样,英文写的比说的好,但他照样成为 Google台湾总经理。

    他怎么办到的?简立峰亲授他的“面试秘诀”,让你也能一圆梦想,前进Google!

    装腔作势 不懂先别心虚

    “Google的面试,很难准备!”简立峰说,Google出的题目包山包海,先要你解一道数学题,紧接著问你进军大陆市场策略,不少面试者很容易就被考倒,当场楞在那边。

    简立峰指出,要通过Google的面试,得先学会“装腔作势”。所谓“装腔作势”,第一步就是无论遇到什么样的难题,就算完全不会,也不要惊慌。简立峰到Google面试前,已经当上“中研院资科所副所长”,见过不少大场面,这点对他来说,并不困难。

    第二步,既然不知道怎么回答,那发挥点想象力吧!简立峰说,他在**时代长大,那时信息不流通,想出境也不容易,所以他只能靠读书来遨游世界;每读完一本书,他总会想象这本书的作者是怎样的人,想象书里描写的国度是个怎样的地方。

    二十多年的“想象训练”,简立峰擅于融入情境,进行分析。比如说,主考官问:“联准会主席柏南克会不会再启动量化宽松政策?”简立峰不是经济专家,或许他也不懂,但他会立刻思考柏南克个人背景,他所遭遇的政治压力,美国民众目前生活情况……,即使回答的答案不见得“正确”,但必定头头是道。

    简立峰说,本来主考官的提问,就没有标准答案,你只要确定你的回答是对的方向。所以,想进Google,要懂得冷静应对,并透过思考和想象,把答案说得有逻辑、有条理,想办法“唬”住主考官。

    制造靶心 让面试官问你的专长

    除“装腔作势”外,简立峰还有一招“靶心理论”。简立峰说,虽然他到Google面试回答了两百多题,但他有办法影响不同主考官,问出类似的问题,而且都是他擅长的专业领域。他透露,这靠的就是诱导主考管,让他的问题,都朝你的“靶心”射。

    举例来说,你的专长是“烘焙”,但主考官却问了道政治题,这时,你可以回答:“我觉得政治,就像做提拉米苏一样……,”切记善用你专业的领域,去回答你不擅长的问题,让主考官反而对你的专业产生好奇,问你精通的问题。

    “面试是互动的,面试者会被问到那么惨,都是不懂得引导主考官,去问你想要回答的问题!”简立峰表示。

  • 让你的文字简历即刻变图表

    快来试试改变你的简历吧 http://vizualize.me/si70h

    把你的条件资质和关系网变身直观的图表! 这是LinkedIn刚启动的数据拉动WEB应用。看看这个时代有多少人在找工作,有多少人在为他们的求职信湮灭在成堆的简历中而绝望不已。这也是为什么 Vizualize.me的启动不可避免;只要点击一个按钮,你那平淡乏味的简历就会应用其算法和模板,自动地神奇变身为Feltron样式的个人信息图表。在信息过量的时代,文本简历已渐渐成为一个活生生的时代错误,该公司的刊物如此令人不安地定下了基调。现在的简历平均有两页多,1000多个词。能有谁愿意去看这个?

    Vizualize.me的创建者Eugene Woot告诉Co.Design,看过Chris Spurlock的简历(这一简历帮助他获得了赫非顿邮报的职位)并为之感染后,他产生了启动这一应用的灵感。

    在健康、住处和食物之后,工作成为了人们的一项基本需求。如果一项服务能帮你脱颖而出,得到你梦想的工作,我确信这服务一定有市场。Woo解释 道。我也做过大量的招聘工作,一个我永远喜欢不起来的事情就是读文字简历。看了一会儿便会觉得它们长得全部一个样儿。事实上,与我交谈过的大部分CEO 和雇主都承认他们从不阅读简历和求职信的细节。

    造福求职者,也造福雇主,这服务可以带来双赢。

    不过如果每个人都可以按个按钮便得到优雅简洁的简历,我们是不是就又回到了原点?Woo觉得丰富的个性化选择和与社交媒体的融合会让事情保持活力和 生机。个性化选择以大量免费或付费的“简历主题”形式供选择,就像Tumblr做的那样,而从Twitter、Facebook,甚至 Foursquare和像StackOverflow那样的个性网站上导入原始资料,可实现此服务与社交网络的融合。Woo说虽然软件仍在改进,可作为初 稿来说,通过“我的LinkedIn 资质”做出来的图表信息却相当不错。

    Woo说,仅仅两周,他便从Vizualize.me的测试网站上得到了16000份注册请求。“我们把早期接受者定位在年轻的专业人士,主要是创 意/设计/视觉艺术/公关/社交媒体领域,”他在给Co.Design的电邮中这样写道。“但是从我们正收到的潮水般的响应来看,(我们觉得)这会是一项 每个人都愿意使用的服务。”这也带来了另外一个问题,下一个Chris Spurlock要采取什么样的形式,才能搏得雇主的眼球?

    快来试试改变你的简历吧 http://vizualize.me/si70h

  • Web前端开发笔试题集锦(Javascript篇)

    以下为Web前端开发笔试题集锦之Javascript篇,移步HTML/CSS篇

    1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20

    var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;
    reg.test("a1a__a1a__a1a__a1a__");

    2,截取字符串abcdefg的efg

    var str = "abcdefg";
    if (/efg/.test(str)) {
      var efg = str.substr(str.indexOf("efg"), 3);
      alert(efg);
    }

    3,判断一个字符串中出现次数最多的字符,统计这个次数

     

    //将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数
    var str = "abcdefgaddda";
    var obj = {};
    for (var i = 0, l = str.length; i < l; i++) {
       var key = str[i];
       if (!obj[key]) {
          obj[key] = 1;
       } else {
          obj[key]++;
       }
    }
    
    /*遍历这个hash table,获取value最大的key和value*/
    var max = -1;
    var max_key = "";
    var key;
    for (key in obj) {
       if (max < obj[key]) {
          max = obj[key];
          max_key = key;
       }
    }
    
    alert("max:"+max+" max_key:"+max_key);

    4,IE与FF脚本兼容性问题

    (1) window.event:

    表示当前的事件对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象

    (2) 获取事件源

    IE用srcElement获取事件源,而FF用target获取事件源

    (3) 添加,去除事件

    IE:element.attachEvent(“onclick”, function) element.detachEvent(“onclick”, function)

    FF:element.addEventListener(“click”, function, true) element.removeEventListener(“click”, function, true)

    (4) 获取标签的自定义属性

    IE:div1.value或div1[“value”]

    FF:可用div1.getAttribute(“value”)

    (5) document.getElementByName()和document.all[name]

    IE;document.getElementByName()和document.all[name]均不能获取div元素

    FF:可以

    (6) input.type的属性

    IE:input.type只读

    FF:input.type可读写

    (7) innerText textContent outerHTML

    IE:支持innerText, outerHTML

    FF:支持textContent

    (8) 是否可用id代替HTML元素

    IE:可以用id来代替HTML元素

    FF:不可以

    这里只列出了常见的,还有不少,更多的介绍可以参看JavaScript在IE浏览器和Firefox浏览器中的差异总结

    5,规避javascript多人开发函数重名问题

    (1) 可以开发前规定命名规范,根据不同开发人员开发的功能在函数前加前缀

    (2) 将每个开发人员的函数封装到类中,调用的时候就调用类的函数,即使函数重名只要类名不重复就ok

    6,javascript面向对象中继承实现

    javascript面向对象中的继承实现一般都使用到了构造函数和Prototype原型链,简单的代码如下:

    function Animal(name) {
       this.name = name;
    }
    
    Animal.prototype.getName = function() {alert(this.name)}
    function Dog() {};
    Dog.prototype = new Animal("Buddy");
    Dog.prototype.constructor = Dog;
    var dog = new Dog();

    7,FF下面实现outerHTML

    FF不支持outerHTML,要实现outerHTML还需要特殊处理

    思路如下:

    在页面中添加一个新的元素A,克隆一份需要获取outerHTML的元素,将这个元素append到新的A中,然后获取A的innerHTML就可以了。

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>获取outerHMTL</title> 
    <style> 
    div{ background:#0000FF;width:100px;height:100px;}  
    span{ background:#00FF00;width:100px;height:100px;}  
    p{ background:#FF0000;width:100px;height:100px;}  
    </style> 
    </head> 
    <body> 
    <div id="a"><span>SPAN</span>DIV</div> 
    <span>SPAN</span>
    <p>P</p> 
    <script type="text/javascript">
    function getOuterHTML(id){
     var el = document.getElementById(id);
     var newNode = document.createElement("div");
     document.appendChild(newNode);
     var clone = el.cloneNode(true);
     newNode.appendChild(clone);
     alert(newNode.innerHTML);
     document.removeChild(newNode);
    }
    getOuterHTML("a");
    </script>
    </body> 
    </html>

    8,编写一个方法 求一个字符串的字节长度

    假设:

    一个英文字符占用一个字节,一个中文字符占用两个字节

    function GetBytes(str){
        var len = str.length;
        var bytes = len;
        for(var i=0; i<len; i++){
            if (str.charCodeAt(i) > 255) bytes++;
        }
        return bytes;
    }
    alert(GetBytes("你好,as"));

    9,编写一个方法 去掉一个数组的重复元素

    var arr = [1 ,1 ,2, 3, 3, 2, 1];
    Array.prototype.unique = function(){
        var ret = [];
        var o = {};
        var len = this.length;
        for (var i=0; i<len; i++){
            var v = this[i];
            if (!o[v]){
                o[v] = 1;
                ret.push(v);
            }
        }
        return ret;
    };
    alert(arr.unique());

    10,写出3个使用this的典型应用

    (1)在html元素事件属性中使用,如

    <input type=”button” onclick=”showInfo(this);” value=”点击一下”/>

    (2)构造函数

    function Animal(name, color) {
       this.name = name;
       this.color = color;
    }

    (3)

    <input type="button" id="text" value="点击一下" />
    <script type="text/javascript">
    var btn = document.getElementById("text");
    btn.onclick = function() {
    alert(this.value); //此处的this是按钮元素
    }
    </script>

    (4)CSS expression表达式中使用this关键字

    <table width="100px" height="100px">
      <tr>
        <td>
        <div style="width:expression(this.parentNode.width);">div element</div>
        </td>
      </tr>
    </table>

    12,如何显示/隐藏一个DOM元素?

    el.style.display = "";
    el.style.display = "none";

    el是要操作的DOM元素

    13,JavaScript中如何检测一个变量是一个String类型?请写出函数实现

    String类型有两种生成方式:

    (1)Var str = “hello world”;

    (2)Var str2 = new String(“hello world”);

    function IsString(str){
        return (typeof str == "string" || str.constructor == String);
    }
    var str = "";
    alert(IsString(1));
    alert(IsString(str));
    alert(IsString(new String(str)));

    14,网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“××年还剩××天××时××分××秒”

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>倒计时</title>
    </head>
    <body>
    <input type="text" value="" id="input" size="1000"/>
    <script type="text/javascript">
       function counter() {
          var date = new Date();
          var year = date.getFullYear();
          var date2 = new Date(year, 12, 31, 23, 59, 59);
          var time = (date2 - date)/1000;
          var day =Math.floor(time/(24*60*60))
          var hour = Math.floor(time%(24*60*60)/(60*60))
          var minute = Math.floor(time%(24*60*60)%(60*60)/60);
          var second = Math.floor(time%(24*60*60)%(60*60)%60);
          var str = year + "年还剩"+day+"天"+hour+"时"+minute+"分"+second+"秒";
          document.getElementById("input").value = str;
       }
       window.setInterval("counter()", 1000);
    </script>
    </body>
    </html>

    15,补充代码,鼠标单击Button1后将Button1移动到Button2的后面<div> <input type=”button” id =”button1″ value=”1″ onclick=”???”> <input type=”button” id =”button2″ value=”2″ /”> </div>

    <div>
       <input type="button" id ="button1" value="1" onclick="moveBtn(this);">
       <input type="button" id ="button2" value="2" />
    </div>
    <script type="text/javascript">
    function moveBtn(obj) {
       var clone = obj.cloneNode(true);
       var parent = obj.parentNode;
       parent.appendChild(clone);
       parent.removeChild(obj);
    }
    </script>

    16,JavaScript有哪几种数据类型

    简单:Number,Boolean,String,Null,Undefined

    复合:Object,Array,Function

    17,下面css标签在JavaScript中调用应如何拼写,border-left-color,-moz-viewport

    borderLeftColor

    mozViewport

    18,JavaScript中如何对一个对象进行深度clone

    function cloneObject(o) {
        if(!o || 'object' !== typeof o) {
            return o;
        }
        var c = 'function' === typeof o.pop ? [] : {};
        var p, v;
        for(p in o) {
            if(o.hasOwnProperty(p)) {
                v = o[p];
                if(v && 'object' === typeof v) {
                    c[p] = Ext.ux.clone(v);
                }
                else {
                    c[p] = v;
                }
            }
        }
        return c;
    }; 

    19,如何控制alert中的换行

    n alert(“pnp”);

    20,请实现,鼠标点击页面中的任意标签,alert该标签的名称.(注意兼容性)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>鼠标点击页面中的任意标签,alert该标签的名称</title> 
    <style> 
    div{ background:#0000FF;width:100px;height:100px;}  
    span{ background:#00FF00;width:100px;height:100px;}  
    p{ background:#FF0000;width:100px;height:100px;}  
    </style> 
    <script type="text/javascript">
    document.onclick = function(evt){
     var e = window.event || evt;
     var tag = e["target"] || e["srcElement"];
     alert(tag.tagName);
    };
    </script>
    </head> 
    <body> 
    <div id="div"><span>SPAN</span>DIV</div> 
    <span>SPAN</span>
    <p>P</p> 
    </body> 
    </html> 

    21,请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:

    var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;

    function parseQueryString(url){
       var params = {};
       var arr = url.split("?");
       if (arr.length <= 1)
          return params;
       arr = arr[1].split("&");
       for(var i=0, l=arr.length; i<l; i++){
          var a = arr[i].split("=");
          params[a[0]] = a[1];
       }
       return params;
    }
    
    var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2";
    var ps = parseQueryString(url);
    alert(ps["key1"]);

    22,ajax是什么? ajax的交互模型? 同步和异步的区别? 如何解决跨域问题?

    Ajax是多种技术组合起来的一种浏览器和服务器交互技术,基本思想是允许一个互联网浏览器向一个远程页面/服务做异步的http调用,并且用收到的数据来更新一个当前web页面而不必刷新整个页面。该技术能够改进客户端的体验。包含的技术:

    XHTML:对应W3C的XHTML规范,目前是XHTML1.0。

    CSS:对应W3C的CSS规范,目前是CSS2.0

    DOM:这里的DOM主要是指HTML DOM,XML DOM包括在下面的XML中

    JavaScript:对应于ECMA的ECMAScript规范

    XML:对应W3C的XML DOM、XSLT、XPath等等规范

    XMLHttpRequest:对应WhatWG的Web Applications1.0规范(http://whatwg.org/specs/web-apps/current-work/

    AJAX交互模型

    同步:脚本会停留并等待服务器发送回复然后再继续

    异步:脚本允许页面继续其进程并处理可能的回复

    跨域问题简单的理解就是因为JS同源策略的限制,a.com域名下的JS无法操作b.com或c.a.com下的对象,具体场景如下:

    PS:(1)如果是端口或者协议造成的跨域问题前端是无能为力的

    (2) 在跨域问题上,域仅仅通过URL的首部来识别而不会尝试判断相同的IP地址对应的域或者两个域是否对应一个IP

    前端对于跨域的解决办法:

    (1) document.domain+iframe

    (2) 动态创建script标签

    23,什么是闭包?下面这个ul,如何点击每一列的时候alert其index?

    <ul id=”test”>
    <li>这是第一条</li>
    <li>这是第二条</li>
    <li>这是第三条</li>
    </ul>

    内部函数被定义它的函数的外部区域调用的时候就产生了闭包。

    (function A() {
       var index = 0;
       var ul = document.getElementById("test");
       var obj = {};
       for (var i = 0, l = ul.childNodes.length; i < l; i++) {
          if (ul.childNodes[i].nodeName.toLowerCase() == "li") {
             var li = ul.childNodes[i];
             li.onclick = function() {
                index++;
                alert(index);
             }
          }
       }
    })();

    24,请给出异步加载js方案,不少于两种

    默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。

    异步加载方式:

    (1) defer,只支持IE

    (2) async:

    (3) 创建script,插入到DOM中,加载完毕后callBack,见代码:

    function loadScript(url, callback){
       var script = document.createElement("script")
       script.type = "text/javascript";
       if (script.readyState){ //IE
          script.onreadystatechange = function(){
             if (script.readyState == "loaded" ||
                script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
             }
          };
       } else { //Others: Firefox, Safari, Chrome, and Opera
          script.onload = function(){
              callback();
          };
       }
       script.src = url;
       document.body.appendChild(script);
    }

    25,请设计一套方案,用于确保页面中JS加载完全。

    var n = document.createElement("script");
    n.type = "text/javascript";
    //以上省略部分代码
    //ie支持script的readystatechange属性(IE support the readystatechange event for script and css nodes)
    if(ua.ie){
       n.onreadystatechange = function(){
           var rs = this.readyState;
           if('loaded' === rs || 'complete'===rs){
               n.onreadystatechange = null;
               f(id,url); //回调函数
           }
    };
    //省略部分代码
    //safari 3.x supports the load event for script nodes(DOM2)
       n.addEventListener('load',function(){
           f(id,url);
       });
    //firefox and opera support onload(but not dom2 in ff) handlers for
    //script nodes. opera, but no ff, support the onload event for link
    //nodes.
    }else{
       n.onload = function(){
           f(id,url);
       };
    }

    26,js中如何定义class,如何扩展prototype?

    Ele.className = “***”; //***在css中定义,形式如下:.*** {…}

    A.prototype.B = C;

    A是某个构造函数的名字

    B是这个构造函数的属性

    C是想要定义的属性的值

    27,如何添加html元素的事件,有几种方法.

    (1) 为HTML元素的事件属性赋值

    (2) 在JS中使用ele.on*** = function() {…}

    (3) 使用DOM2的添加事件的方法 addEventListener或attachEvent

    28,documen.write和 innerHTML的区别

    document.write只能重绘整个页面

    innerHTML可以重绘页面的一部分

    29,多浏览器检测通过什么?

    (1) navigator.userAgent

    (2) 不同浏览器的特性,如addEventListener

    30,js的基础对象有那些, window和document的常用的方法和属性列出来

    String,Number,Boolean

    Window:

    方法:setInterval,setTimeout,clearInterval,clearTimeout,alert,confirm,open

    属性:name,parent,screenLeft,screenTop,self,top,status

    Document

    方法:createElement,execCommand,getElementById,getElementsByName,getElementByTagName,write,writeln

    属性:cookie,doctype,domain,documentElement,readyState,URL,

    31,前端开发的优化问题

    (1) 减少http请求次数:css spirit,data uri

    (2) JS,CSS源码压缩

    (3) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数

    (4) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能

    (5) 用setTimeout来避免页面失去响应

    (6) 用hash-table来优化查找

    (7) 当需要设置的样式很多时设置className而不是直接操作style

    (8) 少用全局变量

    (9) 缓存DOM节点查找的结果

    (10) 避免使用CSS Expression

    (11) 图片预载

    (12) 避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢

    32,如何控制网页在网络传输过程中的数据量

    启用GZIP压缩

    保持良好的编程习惯,避免重复的CSS,JavaScript代码,多余的HTML标签和属性

    33,Flash、Ajax各自的优缺点,在使用中如何取舍?

    Ajax的优势

    (1) 可搜索型

    (2) 开放性

    (3) 费用

    (4) 易用性

    (5) 易于开发

    Flash的优势

    (1) 多媒体处理

    (2) 兼容性

    (3) 矢量图形 比SVG,Canvas优势大很多

    (4) 客户端资源调度,比如麦克风,摄像头

    参考:http://www.xuchen.name/?p=440002 


    枫芸志原创文章,请移步完整原文

    本文链接:http://witmax.cn/web-dev-test-html.html

  • Web前端开发笔试题集锦(HTML/CSS篇)

    以下为Web前端开发笔试题集锦之HTML/CSS篇,请移步完整原文链接:http://witmax.cn/web-dev-test-html.html

    1,让一个input的背景颜色变成红色

    2,div的高宽等于浏览器可见区域的高宽,浏览器滚动,div始终覆盖浏览器的整个可见区域

    思路:

    (1)先放置一个div1,浮动:position:absolute;top:0px;left:0px;
    (2)再放置一个div2,浮动:position:absolute;top:0px;left:0px;width:100%;height:100%;
    (3)在div2中放置一个div3,令其高度超过浏览器高度,使div2产生滚动条
    (4)对html,body进行样式设置:width:100%;height:100%;overflow:hidden->不让浏览器产生滚动条,避免页面出现两个滚动条
    (5)编写JavaScript,另div2的高度等于页面可见高度,宽度等于页面可见宽度,注意,在计算完可见高度height和可见宽度width后,要对这两个值做处理,可见宽度-div2的滚动条的宽度,滚动条的宽度我这里假设是20px

     

    3,IE、FF下面CSS的解释区别

    4,一个定宽元素在浏览器(IE6,IE7,Firefox)中横向居中对齐的布局,请写出主要的HTML标签及CSS

    思路:

    IE6/7:text-align:center
    Firefox:margin:0 auto(margin-top和margin-bottom也可以为其他数字,关键是margin-left,margin-right为auto)

    5,CSS中margin和padding的区别

    margin是元素的外边框,是元素边框和相邻元素的距离
    Padding是元素的内边框,是元素边框和子元素的距离

    6,最后一个问题是,如何制作一个combo选项,就是可以输入可以下拉菜单选择。

    思路:
    (1)布局select和input,让input覆盖select,除了select的下拉图标,以方便select选择
    (2)编写JS,为select添加onchange事件,onchange时将input的value置成select选中的指

    7,中alt和tittle的区别

    alt:图片显示不出来了就提示alt

    title:鼠标划过图片显示的提示

    8,用css、html编写一个两列布局的网页,要求右侧宽度为200px,左侧自动扩展。

    9,解释document.getElementById(“ElementID”).style.fontSize=”1.5em”

    em是相对长度单位,相当于当前对象内文本的字体尺寸,如果当前行内文本的字体尺寸未被指定,则相对于浏览器的默认字体尺寸。
    该语句将id为ElementID的元素的字体设置为当前对象内文本的字体尺寸的1.5倍

    10,Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 行内元素有哪些?块级元素有哪些?CSS的盒模型?

    DOCTYPE是文档类型,用来说明使用的HTML或者XHTML是什么版本,其中的DTD叫文档类型定义,里面包含了文档规则,浏览器根据定义的DTD来解析页面的标识并展现出来
    DOCTYPE有两种用途:一个可以进行页面的有效性验证,另一个可以区分浏览器使用严格模式还是混杂模式来解析CSS。
    严格模式和混杂模式是浏览器解析CSS的两种模式,目前使用的大部分浏览器对这两种模式都支持,但是IE5只支持混杂模式。

    可那个过DOCTYPE声明来判断哪种模式被触发
    (1) 没有DOCTYPE声明的网页采用混杂模式解析
    (2) 对使用DOCTYPE声明的网页视不同浏览器进行解析
    (3) 对于浏览器不能识别的DOCTYPE声明,浏览器采用严格模式解析
    (4) 在ie6下,如果在DOCTYPE声明之前有一个xml声明比如
      (5) 在ie下,如果DOCTYPE之前有任何字符,都会导致它进入混杂模式。

    常见的块级元素有:DIV,FORM,TABLE,P,PRE,H1~H6,DL,OL,UL等

    常见的内联元素:SPAN,A,STRONG,EM,LABEL,INPUT,SELECT,TEXTAREA,IMG,BR等
    CSS盒模型用于描述为一个HTML元素形成的矩形盒子,盒模型还涉及元素的外边距,内边距,边框和内容,具体来讲最里面的内容是元素内容,直接包围元素内容的是内边距,包围内边距的是边框,包围边框的是外边距。内边距,外边距,边框默认为0。

    11,CSS引入的方式有哪些? link和@import的区别?

    引入css的方式有下面四种

    (1) 使用style属性
    (2) 使用style标签
    (3) 使用link标签
    (4) 使用@import引入
    Link和@import区别:

    (1) link属于XHTML标签,@import是CSS提供的一种方式。Link除了加载CSS外,还可以做很多事情,如定义RSS,rel连接属性等;@import只能加载CSS
    (2) 加载顺序不同,当页面被加载的时候,link加载的CSS随之加载,而@import引用的CSS会等到页面完全下载完之后才会加载
    (3) 兼容性差别,由于@import是CSS2.1提出的,所以老的浏览器不支持,IE系列的浏览器IE5以上才能识别,而link没有这个问题
    使用DOM控制样式的差别,使用JavaScript控制DOM去改变样式的时候,只能操作link,@import不可以被DOM操作。

    12,如何居中一个浮动元素?

    一个浮动元素里面包含的元素可以水平居中,原理如下:
    让浮动元素left相对于父元素container右移50%,浮动元素left的子元素left-child相对于left左移50%就可以实现left-child相对于container水平居中
    垂直居中类似,不过操作的不是left而是top

    13,HTML5和CSS3的了解情况

    HTML5和CSS3分别是新推出的HTML和CSS规范,前世是XHTML2和CSS2,目前还在草案阶段,不过得到了Apple,Opera,Mozilla,Google,Microsoft不同程度的支持,也开发出了不少基于他们的应用。

    HTML5相对于原来的HTML规范有一些变化:
    (1)DOCTYPE更简洁
    (2)新增了一些语义化标签,如article,header,footer,dialog等
    (3)新增了一些高级标签

    14,你怎么来实现下面这个设计图

    15,css 中id和class如何定义,哪个定义的优先级别高?

    id:#***,***为HTML中定义的id属性

    class:.***,***为HTML中定义的class属性

    id比class的优先级高

    16,用html实现如下表格(不如嵌套实用表格)

    17,web标准网站有那些优点

    (1) Web标准网站结构和布局分离,使网站的访问和维护更加容易
    (2) Web标准网站结构,布局以及页面访问都标准化,使网站能在更多的web标准设备中访问,兼容性更好
    (3) Web标准网站语义化更好,语义化的XHTML不仅对用户友好,对搜索引擎也友好。

    来源:http://www.xuchen.name/2010/10/18/HTML,CSS,笔试题.html 修改了个别错误


    枫芸志原创文章,请移步完整原文

    本文链接:http://witmax.cn/web-dev-test-html.html

     

  • Android平台研发人才缺口30万, 占开发人才总需求72%

    随着采用Android系统的谷歌手机、平板电脑等产品逐渐扩大市场占有率,Android平台人才的缺口日益显现。据业内统计,目前国内的3G研发人才缺口有三、四百万,其中Android研发人才缺口至少30万。职场专家指出,想要从事Android开发的人员,除了基础的计算机技术知识要扎实之外,要根据各类企业、各类岗位的不同需求,补充与岗位相关的Android技术知识。此外,还要注重项目经验的积累。

    ■ 才市动态

    软件应用类Android开发人才占总需求72%

    Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

    据职酷网数据统计显示:目前热招的Android技术相关岗位约有3882个,而一个月内的有效岗位量在2298个。主要热招职位包括 Android开发工程师、Android软件工程师、Android应用开发工程师、系统驱动工程师,Android手机游戏开发、Android系统 软件开发、 Android程序员、Android游戏应用版本管理、人机交互分析工程师、Android中间层开发工程师等。

    从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。从 目前的招聘需求来看,后者的需求最大,包括手机游戏、手机终端应用软件和其他手机应用软件的开发。据职酷网职位搜索库统计显示,目前企业对这类应用软件的 Android开发人才占总需求的72%。

    职业专家分析说,由于目前Android 技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需 求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。

    ■ 从业素质

    据职酷网职业专家Vicky介绍,通信类、半导体类企业一般从事硬件程序开发较多,所以需要了解Android系统框架、熟悉Linux系统,熟悉ARM技术等。

    熟悉Java语言、C++语言,熟悉Android SDK即Android开发框架,熟悉Android下的网络通信机制,同时,还要了解Android平台上不同的编程逻辑,同时,还要学习Android平台下的一系列开发工具等等。

    计算机、互联网、移动互联网类企业侧重在应用软件的开发上,这类人才要求熟悉java开发环境及相关开发工具,有较好的软件设计思维与模式,同时熟悉Android的框架。

    据乐成数字通信学院副校长耿赛猛介绍,做Android开发要培养沟通交流能力、以及团队协作能力和项目经验的积累,“项目是以团队合作的方式来完成,通过团队合作,做成一个项目,让应用程序能在手机的移动商店上线”。

    ■ 企业需求

    青睐有完整项目经验的工程师

    ●刘惠霞,新浪无线人力主管

    公司目前最需要的是Android应用开发工程师和Android内核/驱动开发工程师,主要负责Android平台应用软件、游戏开发和程序的维护。

    在新浪手机微博的Android工程师具备至少1年以上实际Android平台开发经验,并且需要熟悉软件开发流程,具有独立工作能力和快速学习能力,良好的团队协作意识和沟通能力。

    学历原则上是全国重点大学本科以上学历,除非应聘者在某方面有过人之处,如“微博控”、Android技术达人。但是本科是必需的。

    以下两方面突出的工程师会备受企业青睐。一方面,拥有完整的Android项目经验的工程师,一般具有扎实的操作系统知识,网络通信知识,懂得软件 开发流程;另一方面,面试中对工程师的“气质”和学习能力也有所考虑,要具备踏实稳健的态度、较强的自我学习更新能力和突出的产品意识。

    ■ 专家观点

    积累项目经验 了解手机开发特点

    ●耿赛猛,乐成数字通信学院副校长

    进入Android这个领域的门槛非常低,但是要做到比较高端的阶段,除了技术知识的储备以外,要注重项目经验的积累,注重手机开发的特点。通过自 己实际使用Android应用,分析各个应用产品的特点,注重用户的UI(用户界面)交互体验,使开发出来的程序能更符合用户的使用习惯。

    ●Vicky,职酷网职业发展专家

    Android 领域人才与其他技术领域的程序开发人才的最大区别,在于Android是个新的系统环境,要有创新思维,并且这些创新思维能够在产品上实现,这就需要对所 开发产品自身的熟悉,同时还要了解产品用户的需求。另外,还要关注相关领域的新技术,有较强的学习能力。在平时工作中,积极地去做项目,不断与别人交流, 思考如何把项目做得更好。

    对于大学生而言,如果,自身对硬件底层相对了解,可以选择一些设备厂商;对于一些生活应用方面有兴趣,有很多新奇的想法希望通过程序实现,也可以选择一些应用程序方面的开发;对于技术能力相对较弱或对于移动产品有兴趣的学生,也可以选择一些产品专员、测试、设计等岗位。

    ■ 从业者说

    ●叶赛尔,友录通讯公司Android开发工程师,2007年清华大学计算机专业毕业

    进入Android平台很容易,只要有计算机方面的知识,扎实的编程功底,Java开发技术和对计算机语言的理解、对数据库、协议的理解,但越往高层次做,要求就越高,如对于产品概念的把握,对于交互的把握,如何让户使用起来更方便。

    在这个领域做到优秀,首先要爱这个平台,喜欢Android的各类软件,愿意下载体验它;其次要明确自己的发展方向,看自己究竟是适合做上层的,偏 向UI、交互逻辑方面的,还是下层的数据库、网络多线程等内容;第三多看源代码,多学习开源的学习资料。遇到问题随时学习,如一个手机安全软件,需要拦截 一些垃圾信息,弄懂哪些算法才能实现这些功能。第四,要能够把一个项目完整地做出来。

  • 中国人才市场竞争激烈:外企被迫改变招聘策略

    中国人才市场竞争激烈:外企被迫改变招聘策略
    导语:国外媒体今天撰文称,随着中国本土企业的日渐繁荣,外企不得不改变招聘战略才能获得理想的本土管理人才。

    人才竞争

    随着国外公司在中国市场面临的压力增大,部分外企发现,本土企业的日益成功使得他们越来越难以吸引中国管理人员。

    以往,外企或跨国企业通常都会从总部所在国招聘华裔担任中国市场的管理职位。但现在,很多公司都选择招聘本土人才,这些人不仅会说中文,而且了解中国的文化和市场。与此同时,中国公司的繁荣也加剧了人才竞争,迫使外企改变招聘战略,并更加努力地满足人才对薪水的要求。

    “过去,有很多人才从一家跨国公司跳槽到另外一家跨国公司。而现在,很多高管开始从跨国公司跳槽到本土公司。”美国高端猎头公司罗盛咨询(Russell Reynolds Associates)大中华区董事总经理程原说。

    根据安永会计师事务所的数据,今年第一季度,中国首次公开招股(IPO)数量居全球第一位,总量达到110起,占全球交易量的38%,募集资金的占比更是达到52%。

    去年有多家中国大型企业IPO,包括中国农业银行、当当网和友邦保险。随着人人公司和凤凰新媒体的上市,这一趋势今年还将持续。

    程原表示,随着中国企业走向全球,他们对于具有国际经验的管理人员的需求也越来越大,使得跨国公司的员工成为了主要目标。

    猎头公司MRI China Group最近对中国大陆的2200名员工进行的调查显示,有64%的人在过去18个月中至少获得了其他公司发出的一份挖角要约。

    美国电缆制造商Belden CEO约翰·斯特罗普(John Stroup)表示,他的公司最近招聘和挽留中国员工的难度越来越大。他说,中国管理人员“开始意识到,跨国公司并非他们的唯一选择。”

    要与本土企业竞争,斯特罗普还必须要为管理人员支付更高的薪水。“人们收到同行大幅提薪的挖角要约并不稀奇。”他说。

    应对策略

    Belden在中国拥有1900名员工,其中有80名中高层管理人员。为了保持稳定的高质量后备管理人员,Belden改变了招聘战略:去年首次开始聘用入门级员工,并希望将他们培养成管理者。

    该公司与大约30所中国高校建立了合作,通过这一渠道获得了大约1000名后备人才,这些人都是通过一系列笔试和面试筛选出来的,以便确保其具备必要的语言、技术和其他能力。去年6月,Belden从这些候选人中招聘了10名员工。

    信息服务公司威科集团(Wolters Kluwer)表示,在过去5年间,该公司在中国的员工总数已经翻番至200人。这家总部位于荷兰的企业还为中国增加了一些顶级区域主管。然而,该公司中国区CEO常莎莎(Shasha Chang,音译)说:“的确有一些员工离开威科,跳槽到规模更大的中国企业。”

    为了增强自身对中国管理人才的吸引力,该公司去年启动了一个轮换项目,允许中国员工前往威科45个全球市场中一个市场工作两周到一个月的时间。常莎莎表示,这有助于吸引那些希望获得跨国经验的中国员工。

    威科集团发言人称,该公司还将管理人才项目的预算上调了50%,但拒绝透露具体数字。

    普华永道会计师事务所在中国大陆拥有超过1万名员工,去年6月还招聘了1000人,他们从事的工作包括税务、审计和咨询。普华永道全球董事长戴瑞礼(Dennis M. Nally)表示,中国是该公司增速最快的市场之一。但“随着国有企业开始加大国际市场的竞争力,他们将对中国人才构成更强的吸引力。”

    戴瑞礼表示,普华永道不仅会从中国本土招聘人才,也会招聘一些在美国、英国和其他国家的华裔到中国工作。过去两年间,被长期分配到中国的员工增长了10%。

    博士伦CEO布兰特·桑德斯(Brent Saunders)表示,随着进入中国市场的竞争者数量增加,员工薪酬也被推高。作为回应,博士伦将中国业务的薪酬周期从一年一次缩短到一个季度一次,与其他国家的做法相同。

    桑德斯表示,四五年前,博士伦只需要与其他跨国企业争夺人才;而现在,来自国有企业和本土民营企业的竞争也在加强。

  • 最刁钻古怪的面试题

    最刁钻古怪的面试题
        
    就好像招聘面试的压力还不够一样,大公司的招聘经理们开始抛出一些让人难以招架的问题。这里就列出了这样一些刁钻古怪的问题。

        由于目前美国每个空缺职位平均有约5名候选人,一些负责做出招聘决定的人员开始采用极端招数来缩小候选人范围。招聘网站Glassdoor.com的研究人员梳理了上万个由求职者提供的、曾在面试过程中绞尽脑汁试图回答的问题,从中选出过去15个月最古怪的面试问题。

        对于倍感困扰的求职者,幸运的一点是多数情况下面试官更感兴趣的是求职者如何应对——即听到他们的思考过程,以及他们是否能保持冷静——而不是求职者能否给出“正确的”答案。下面是Glassdoor整理的一些古怪的面试问题以及提问的公司:

        “在数字1-1,000中,如果每猜一次,都告诉你是‘高了’、还是‘低了’。要猜中一个数字,至少要猜多少次?”——Facebook

        “用1-10分制来打分,你认为你的古怪程度是几分?”——Capital One

        “用两分钟时间解释一下量子电动力学,现在开始。”——英特尔公司(Intel)

        “这个房间能装下几个气球?”——普华永道(PricewaterhouseCoopers)

        “假如你被缩小到一支铅笔大小,并被放入一个搅拌机里,你怎么跑出来?”—— 高盛公司(Goldman Sachs)

        “有一束花。除两朵外都是玫瑰,除两朵外都是菊花,除两朵外都是郁金香。一共有几朵花?”——Epic Systems

        “武术的基本原理是什么?”——Aflac

        “给我讲讲,过去十年美国都发生了些什么?” ——波士顿咨询公司(Boston Consulting)

        “如果你能成为超级英雄,你想当哪个超级英雄?”——美国电话电报公司(AT&T)

        “不用秤,怎么为一头大象称重?”——IBM

        “如果有5,623人参加锦标赛,需要比多少场才能决出获胜者?”——亚马逊公司(Amazon)

        “上海有多少块砖?只考虑住宅。”——德勤咨询(Deloitte Consulting)

        “有5瓶药,一瓶装有9克药,其余都装有10克药。只使用一次天平,如何找出盛有9克药的那一瓶?”——eBay

        “说说你的快球?” ——安永(Ernst & Young)

        “假如乒乓运动已经过时,你如何销售乒乓球?列出多种方式,然后选择其中一种,详细说明。”——微软公司(Microsoft)

        “纽约市有多少部智能手机?”——谷歌公司(Google)

        “你现在管理着20个人。将他们组织起来,找出你所在地区去年卖出了多少辆自行车。”——斯伦贝谢(Schlumberger)

        “你说为什么年收入超过12.5万美元的人只占人口很低比例?——纽约人寿(New York Life)

        “有三个箱子,一个装的全是苹果,一个装的全是桔子,还有一个装的是苹果和桔子。箱子的标签都贴错了,没有一个标签能正确指示箱子里装的是什么。只打开其中一个箱子,不往里看,然后拿出一个水果。看过这个水果后,你怎么能立即给这些箱子正确地贴上标签?”——苹果公司(Apple)

        “一架747飞机内可以装多少个直径一英寸的滚珠轴承?”——SAIC

  • 在面试中何时谈薪资为妙?

    在面试中,过早告知面试官当前的薪资水平会降低应聘者获得高薪的可能性。本文提供有关商谈薪资的一点建议。

        在近来的几个面试中,招聘经理在与我谈话之初便问我现在挣多少,这让我有点儿尴尬。一方面,我不想显得不太配合;另一方面,难道我们不应该先讨论一下工作的具体要求以及为什么我很适合这份工作,然后再谈钱的问题吗?

        问题症结并不在于我目前工资不够高,我想换工作其实另有原因,但如果我和盘托出,不就会限制面试官愿意开出的薪资待遇?您还有您的读者们能否给些建议,我该如何应对这个问题呢?

        ——沉默是金的人

         亲爱的“沉默是金”:这个问题问得好。这些日子以来让事情变得纠结的一个因素是:很多人已经失业很久了。这意味着和你一起竞争某些空缺岗位的对手“哪怕工资比应得的要低,也甘愿接受这份工作”,一家位于美国华盛顿市的招聘咨询机构亨伯特集团(Humbert Group)的负责人比尔.亨伯特如是说道。“于是,老板们觉得开低薪水也照样能请到人。”

        即便如此,他又说,“然而事实是,想得到这个工作又想得到期望的薪资,还是可以找到两全之策的。”亨伯特在过去的三十多年里曾与来自通讯卫星实验室(Comsat Labs),USF&G保险公司,美国政府雇员保险公司(GEICO),CSX科技公司及其它公司的3,000多名招聘经理共事过。

        他传授了应聘者在薪资谈判中占据主动的五大秘诀:

        1. 不要在发送的简历中说明薪资要求。

        “如果一家公司要求在发送的简历中说明薪资要求,这其实有可能日后对应聘者不利,”亨伯特说道。他推荐,其实只要写上你的期望薪酬是“开放的”或“可商讨的”即可。他说,“如果你的简历符合岗位的要求,招聘经理会给你打电话的。”

        2. 不要在求职信中写历任工作的薪资情况。

        关于笔试题目里如果问到过去的薪资情况,亨伯特说:“写上‘愿意在面试中合适的时机讨论这个问题’并且将那些数字栏留空,这种做法完全可以接受。写下太具体的数字会把你归到三六九等,同时削弱你在谈工资时的优势。”

        3. 在对所应聘工作了解清楚之后再谈薪资。

        如果面试官在第一轮面试便希望和你谈谈钱的问题,亨伯特建议:应聘者可以调转话锋,反过来问所应聘岗位的薪资范围。他说,“看看有多少面试官会告诉你这一点,你会很惊讶。”

        亨伯特说,事实上,过快地谈及薪资问题是不切实际的,因为“在你确切地知道这份工作所涉及内容以及五年里的提升空间有多大之前,你其实并不知道应该开多高的价钱。”

        同样,对于用人单位所能提供的福利待遇有个初步的概念也很重要。比如,如果对方提出的薪资范围比你之前希望的低一点,但有其他福利,诸如额外带薪假期,配公车,还慷慨缴纳与个人缴费金额相等的401(k)养老金,这些其实等于弥补了两者间的差额。

        4. 着重说明你能为公司做些什么。

        亨伯特说,一旦你了解清楚这份工作的细节情况以及薪资福利待遇之后,便是时候将话题转移到你的“影响力”上了,也就是说,你应聘的这个职位对公司盈利和收入有什么直接作用。

        他建议,“重点谈你能给公司带来的价值,然后在面试最后,只需说你对这个职位很感兴趣并且你会认真考虑他们发出的聘约即可。”

        5. 请记住:对方报出的薪资未必是“一口价”。

        亨伯特指出,问一句“这个聘约还可以商量吗?”或许就能谈成更好的待遇。他说,“这样问的话,更可能得到的回答是类似‘增加一周的带薪休假或签约奖金’,期待工资大涨不大现实。”

        亨伯特还说,“讨价还价与其说是技术,不如说是艺术。当然有些公司制定的一些政策需要你稍微调整一下应对策略,此时关键是要记住:你不需要在谈判之初便给出期望薪资范围,这会影响你的收入提升空间;另外,在多数情况下,你没有必要一口就答应他们给你的第一个薪资待遇。”

  • 面试时不能说的话

    想搞砸面试并不太难。

    迟到、穿着不得体、接听手机都可以毁掉面试,说错话也能达到同样的效果。

    许多招聘经理说,有些应聘者一开始看起来很理想,但当他们愚蠢地回答一些常见的面试问题后,就会被刷下来。

    下面是对一些面试常见问题的不理想回答,如果你这样做了,面试一定会被搞砸,你将被直接淘汰出局。

    问题一:现在,谈谈你自己的一些情况吧。

    如果你胆敢把回答追溯到自己遥远的童年、中学的经历,或是和父母不愉快的关系,你铁定玩完。切记,这往往是摆在你面前的头一道问题。

    很难说面试官想从你那里得到什么样的回答,但你尽可将其理解为他们想知道一些你职业经历的背景。卡洛琳•汤普森(Carolyn Thompson)是一名高管招聘人员,也是《十步找到完美工作》(10 Steps to Finding the Perfect Job)一书的作者,她建议“不妨问问面试官想让你从哪里说起。”是想知道你完整的职业背景,还是只想了解一些工作近况?汤普森说,“问清楚了,也好给自己一个时间定位,选择往前或是往后表述。”

    问题二:你为什么不打算做现在的工作了?

    首先要明确的是,既然你参加其他公司的面试,那肯定是不打算继续做现在的工作了。如果你的自身条件满足面试职位的各项要求,那就不要说自己只是想寻求些变化,也千万不要说目前雇主的坏话。

    纽约iFind猎头公司的共同创始人派翠克•高尔曼(J. Patrick Gorman)表示,“说些当前和雇主的摩擦是可以的,但是要表现出想解决问题的态度,不要让自己显得是个满腹怨言的人。”

    新泽西州科纳斯通人力资源公司(Cornerstone Search Group)的资深猎头顾问丽塔•伯伊尔(Rita Boyle)建议,面试者应解释一下为什么换工作是自己职业生涯中合情合理的一个步骤。

    伯伊尔说道,“要着重解释你为什么想来这家新公司,而不是为什么要离开现在的雇主。”

    还有什么不能说?有——你离开现公司(或加入新公司)是因为地理位置,薪酬或福利方面的原因。

    问题三:你最大的强项和弱项是什么?

    最糟糕的回答方式是没有丝毫的扭捏和谦虚。

    高尔曼建议,“千万不能说‘弱点?我没有弱点’这样的话。”还有一种不明显但也容易酿成大祸的回答:承认自己的弱项,却不解释如何克服。承认自己有缺点,这一点非常重要,但一定要说明你是如何处理的。

    谈及强项时,不要滔滔不绝地给自己脸上贴金——但也不要用一句放之四海皆准的套话来回答。

    纽约州立大学莱闻学院(Levin Institute)讲授求职技巧的教授马克•赫什伯格(Mark Herschberg)说,几乎所有的应聘者都千篇一律地称自己很聪明或是工作努力。

    赫什伯格说,“面对这些陈词滥调,我的回应是:‘95%的应聘者给我的是同样的答案,你能告诉我,你跟他们相比有什么特别之处吗?’”

    问题四:你现在或以前的同事如何评价你?

    这不是一个让你再次表扬自己的问题。汤普森说,“自评和他评是不一样的。”

    美国东北大学商学院(Northeastern University’s College of Business Administration)MBA职业中心主任林恩•萨瑞卡斯(Lynne Sarikas)建议,应聘者应该避免做出诸如“他们认为我是唯一能做对事情的人”或“他们觉得我是下班后的好玩伴”之类的回答。

    汤普森说,要考虑到不同级别的同事是如何评价你的。比如你的下属,你可以说他们认为你为人公正,总是希望把有用的知识和经验的机会向下传递,从而帮助下属成长。

    问题五:你的短期目标是什么?

    永远不要暗示你在不久的将来会考虑自己创业、上学深造,或打算坐上面试官现在的位置。还有,不要把“短期”的含义搞混。

    或许你把“短期”理解为未来半年内,而面试官想的是未来一年半到两年,所以搞清楚这个时间框架很重要。汤普森说,“很多人觉得‘我清楚自己的短期目标’,但如果没弄清‘短期’的定义,你可能会答非所问。”

    问题六:有哪类特定的事情或人你不喜欢?

    科纳斯通人力资源公司的共同创始人史蒂芬•拉兹(Steven Raz)说,这是一个内涵尤其丰富的问题,因此一定要仔细应对。他建议求职者在回答中尽量避免表达对曾共事过的那些权力在握的人物的不满。

    此外,纽约猎头公司胡尔维茨战略人事公司(Hurwitz Strategic Staffing)的布鲁斯•胡尔维茨(Bruce Hurwitz)建议,不要刻意表现出一种万事皆可的风范来。诚实地说出自己通常不喜欢跟哪些人或事打交道——比如过于健谈的人,或者是需要无休止输入资料的工作——只要你应聘的职位不具备这些特点就行。

    问题七:你还有什么问题吗?

    拉兹说,如果面试中存在什么举足轻重的问题,这就算一个。不知道该问什么,就说明你对这份工作没有太多思考,或是不感兴趣。

    并非提出任何一个问题都是合适的。不能问的包括工作薪酬、公司具体业务、能否在家办公、有多少假期、毒品检测和背景调查是不是强制性要求等等。拉兹建议应聘者问一些有助于“让面试官看到你具有符合公司要求的技能、经验和成绩的问题。”

    为避免临时抓瞎,最好提前准备几个能显示出你对招聘企业和职位感兴趣的问题。

奇客罗方公众号 奇客罗方小程序 奇客罗方客服

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeeker which is a sub-website of GeekerCloud
网站地图 XML | 沪ICP备2021031434号-3