`
liuwuyue
  • 浏览: 23710 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

面试题目解析

阅读更多

周末去一家公司面试,面试官给出了几道题。如下:
1:
   url解析

  考虑用 字符串的split方法。
 代码如下:
   url切割
   输入: http://www.baidu.com?a=1&b=2
   输出: {a:1,b:2}
  
直接切割
          function getPara(url){
var temp = {};
var res = url.split('?')[1];
var paras = res.split('&');
for(var i=0;i<paras.length;i++){
       var currRs =  paras[i].split('=');
        var key = currRs[0];
        var value =  currRs[1];
        temp[key]= value;  
  }
  return temp ;
}

2:  关键词替换
      var desc = 'this is  {name}  , {age}';
var man = {name:'lwyue',age:13};
  代码如下:
    function replaceKeyByObj(a ,b){
    var startSearch = 0 ; //起始搜索位置
    var start =0,end=0;//起始位置
    var lastRs = '';
    while(startSearch<b.length){
            start = b.indexOf('{',startSearch) ,
            end =b.indexOf('}',startSearch) ;//结束搜索位置
            if(start!=-1 && end!=-1){
               lastRs += b.substring(startSearch,start)
               var key = b.substring(start+1,end);
               if(a[key]){
                lastRs +=a[key];
                } else{
                          lastRs +='{'+key+'}';
                }
               startSearch = end+1 ;
            }else {
               lastRs += b.substring(startSearch);
               startSearch = b.length;
           } ;
    }
    return lastRs ;
}

   3: 数组去重
          1:两遍遍历的方法
  Array.prototype.stripe = function(){
      for(var i=0;i<this.length;i++){
     for(var j=i+1;j<this.length;j++){
      if(this[i]===this[j]){
      this.splice(j,1);
  j--;
  }
}
  }
  }

  
     2:转换为对象,用时间复杂度为o(n)时间处理,但是由于 js对象的toString方法,为[object object],导致对象均无法分辨, 此方法对对象无效。
主要是将值变为对象的索引。value-> key值的一次转换。

  Array.prototype.stripe = function(){
     var temp = {};//创建临时对象
for(var i=0;i<this.length;i++){
     if(!temp[this[i]+0]){
     temp[this[i]+0] = true;//标记
       }else {
     this.splice(i,1);
i--;
   }
}
  }

  有局限性 ,只能处理基本类型,对对象类型无能为力。
   

 

分享到:
评论

相关推荐

    数通HCIE RS面试题目解析

    数通HCIE RS面试题目解析 在计算机网络领域,HCIE(Huawei Certified Internetwork Expert)是华为公司推出的认证项目之一,旨在评估网络工程师的技术能力和实践经验。HCIE RS( Routing and Switching)是HCIE认证...

    面试题目_cc++面试-----17道经典编程题目分析

    "C++面试题目分析" 本文档提供了17道经典的C++面试题目,涵盖了C++语言的各种基础语法和算法,包括字符串处理、数字处理、数组处理等。每个题目都提供了详细的解释和参考答案,旨在帮助读者更好地理解C++语言的实现...

    Golang_常见面试题目解析

    标题中提到的“Golang常见面试题目解析”,意味着本篇内容将会围绕Golang语言在面试中常见的题型和解答策略进行讨论。Golang,常被称为Go语言,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能...

    北京市公务员面试题目解析.docx

    ### 北京市公务员面试题目解析 #### 题目一:救护车收费问题 **背景信息**:北京市从5月1日起,救护车使用费将采用计价器计费,取消往返全程计价的方式。这一举措引起了社会各界的不同反应。 **核心问题**:救护...

    Golang-常见面试题目解析.rar

    《Golang常见面试题目解析》 在Go语言(Golang)的世界里,面试是检验开发者技术功底的重要环节。这份17M的大型压缩包文件,包含了一份详尽的Golang面试题集,覆盖了从基础语法到高级特性的各个层面,是求职者准备...

    常见软件测试面试题目分析.pdf

    软件测试面试题目分析 软件测试是一个复杂的领域, 涉及到软件开发的各个方面。 在面试中,考官通常会问一些基础知识题,以评估候选人的基本技能和知识面。 本文将对常见的软件测试面试题目进行分析, 帮助考生更好...

    Golang_常见面试题目解析.pdf

    Go语言(又称Golang)是一种静态...总结来说,Go语言面试题目通常会考察对语言特性的理解,尤其是goroutine、channel以及字符串处理等基础知识。解决这些问题的能力反映了求职者是否具备使用Go语言进行高效编程的潜力。

    ICAO面试题目解析

    ICAO面试问题解析

    香港小一面试题目.pdf

    【香港小一面试题目解析】 面试是孩子们进入小学的一个重要环节,主要目的是评估孩子的基本能力、性格特点、家庭背景以及生活常识。以下是根据提供的面试题目分析的一些关键知识点: 1. **自我介绍与基本沟通**: ...

    数据结构 面试 题目

    ### 数据结构面试题目解析 1. **题目一**:“链表与数组的不同之处” - 数组是顺序存储的,访问时间复杂度为O(1),但插入删除操作可能需要移动大量元素,时间复杂度为O(n)。 - 链表是链式存储,访问时间复杂度为O...

    毕业生经典面试题目,各大公司顶级面试考官分析面试

    ### 毕业生经典面试题目解析 #### 面试题目一:自我介绍与兴趣爱好 - **问题概述**:请先做一个简单的自我介绍,并分享一下你的兴趣爱好。 - **解析**:这是一个非常基础但重要的面试问题。面试官通过这个问题来...

    2018年上海高级Java面试题目1

    "高级Java面试题目解析" 本资源摘要信息主要围绕高级Java面试题目,涵盖了多线程、线程工具类、线程池、前端框架、数据库优化、数据库分库分表、Spring框架、Dubbo微服务、Redis持久化等多方面的知识点。 多线程...

    校外联部情景面试题目2(1).doc

    【校外联部情景面试题目解析】 面试题目设计的目的是为了全面评估候选人的沟通能力、团队协作精神、问题解决技巧以及领导潜力。以下是针对所给面试题目的详细分析: 1. **例会出席问题**:这道题考察部长的组织...

    经典面试题目 经典面试题目 经典面试题目 经典面试题目

    在IT行业的面试中,经典面试题目是评估求职者技能、经验和知识深度的重要工具。这些题目通常涵盖编程语言、数据结构、算法、操作系统、数据库、网络、软件工程等多个方面。以下是一些可能出现的经典面试题目及其详细...

    中科红旗面试题目

    ### 中科红旗面试题目解析 #### 1. 访问固定内存位置 在嵌入式系统开发中,访问固定内存位置是一项基本技能。面试题目要求将整型变量设置在绝对地址0x67a9,并赋值为0xaa55。解决此问题的关键在于理解类型转换...

    Java常见笔试、面试题目深度剖析

    提供的资源如"Java常见笔试、面试题目深度剖析一(未加密).exe"和"Java常见笔试,面试题目深度剖析.ppt"应包含了对这些知识点的详细解析和实例,对于复习和准备是非常有价值的。建议考生结合这些资料进行系统性学习,...

    C++ JAVA面试题目

    【C++/JAVA面试题目解析】 面试中,C++和JAVA是常见的技术考察点,尤其在笔试环节。这里我们分析一下提供的题目。 1. **BOOL, float, 指针变量与“零值”比较的 if 语句** - 对于BOOL类型的`flag`,正确的比较...

    世界500强面试题目及评点

    《世界500强面试题目及评点(上).pdf》和《世界500强面试题目及评点(下).pdf》这两份资料可能包含了具体面试题目的实例,以及对这些题目的解析和建议。通过阅读这些材料,候选人可以了解常见的面试陷阱,学习如何...

Global site tag (gtag.js) - Google Analytics