热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码

篇首语:本文由编程笔记#小编为大家整理,主要介绍了去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码相关的知识,希望对你有一定的参考价值。编程题很

篇首语:本文由编程笔记#小编为大家整理,主要介绍了去哪儿网2017校招在线笔试(前端工程师)编程题及Javascript代码相关的知识,希望对你有一定的参考价值。


编程题很简单。整个试卷结构为:

一、问答题:

      对前端的理解,了解哪些框架库?

二、在线编程题:身份证分组

      如下第一道:身份证分组

三、在线编程题:身份证分组、统计字符、酒店价格(三选二)

      如下第二三四道题中三选二作答。

      我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现:


第一道:身份证分组

技术分享

技术分享


代码:


1 var line;
2 while(line = read_line()){
3 while(line.indexOf(" ") != -1){
4 line = line.replace(" ","");
5 }
6 if(line.length <= 6){
7 print(line);
8 }
9 else if(line.length > 6 && line.length <= 14){
10 var line1 = line.substring(0,6);
11 var line2 = line.substring(6);
12 print(line1 + " " + line2);
13 }
14 else if(line.length > 14 && line.length <= 18){
15 var line1 = line.substring(0,6);
16 var line2 = line.substring(6,14);
17 var line3 = line.substring(14);
18 print(line1 + " " + line2 + " " + line3);
19 }
20 }


说明:全部AC。

 


第二道:文件扩展名

技术分享

技术分享


代码:


1 var line;
2 while(line = read_line()){
3 while(line.indexOf(".") != -1){
4 line = line.split(".");
5 print(line[line.length-1]);
6 }
7 }


说明:全部AC。

 


第三道:统计字符

技术分享

技术分享


代码:


1 function find (obj, key) {
2 if (! typeof obj === ‘object‘) {
3 return false;
4 }
5 if (key in obj) {
6 return true;
7 }
8 else {
9 return false;
10 }
11 }
12 var line;
13 while(line = read_line()){
14 if(Object.prototype.toString.call(line)===‘[object String]‘){
15 while(line.indexOf(" ") != -1){
16 line = line.replace(" ","");
17 }
18 var json = {};
19 for(var i = 0; i ){
20 if (!find(json, line[i])){
21 json[line[i]] = 1;
22 }
23 else if(find(json, line[i])) {
24 json[line[i]] = json[line[i]] + 1;
25 if (json[line[i]] == 3&&((line[i]<=‘z‘&&line[i]>=‘a‘)||(line[i] <= ‘Z‘&&line[i] >= ‘A‘))){
26 print(line[i]);
27 break;
28 }
29 else {
30 continue;
31 }
32 }
33 }
34 }
35 }


说明:全部AC。我的实现好像有点复杂,后面会优化代码继续更新,也希望各位可以多多指点,讨论讨论思路。


 


第四道:酒店价格

技术分享

技术分享


说明:因为后面三道是三选二,所以最后一道我没做。


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
开心123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有