
笔试面试
文章平均质量分 76
hoxis
这个作者很懒,什么都没留下…
展开
-
2014年阿里巴巴9月14号笔试题总结
参见:http://blog.youkuaiyun.com/zhlfox2006/article/details/11854799http://www.myexception.cn/internet/1589836.htmlhttp://www.kaifazhe.com/programming/362042.html第一部分 单选题 1. 假设把整数关键码K散列到N个槽列表,以下...原创 2014-03-29 12:49:21 · 283 阅读 · 0 评论 -
京东软开2015笔试:寻找满足条件的整数
题目大意:给出整数N(0 ≤ N ≤ 10^9),找出一个最小的整数Q,使得将Q的每一位相乘之后等于N例如N=18,则Q可能取值为:29(2×9=18),36(3×6=18),63(6×3=18),92(9×2=18) 那么我们只要取最小值29即为结果 输入:整数N(0 ≤ N ≤ 10^9) 输出:如果存在这样的Q,则输出Q,如果不存在,输出-1packa原创 2014-10-13 13:38:43 · 1797 阅读 · 0 评论 -
排序算法总结之快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。原创 2014-08-27 16:27:33 · 2217 阅读 · 0 评论 -
排序算法总结之直接插入排序
基本思想 插入排序(Insertion Sort)基本思想是:依次将待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。具体来说,对于一个有n个数据的序列,排序需要进行n-1趟插入操作。 形象来看,每一趟插入操作就像大家玩扑克牌的摸牌阶段,我们使用左手拿着已经摸到并排好大小的牌,右手从牌堆里边摸牌,每摸一张牌就将其插入到左手理顺的牌中,插入后保持其大原创 2014-08-29 14:33:26 · 1433 阅读 · 0 评论 -
百度2015测试开发面试:两个字符串的最长公共子序列
给定两个字符串a,b,输出两个字符串的最长公共子序列;如String a = "abcabcde";String b = "bcd123bcde",那么二者的最长公共子序列就是"bcde"。package com.liuhao.acm.exam;public class LongestComSub { public String getLongestComSub(Stri原创 2014-09-23 12:59:51 · 1714 阅读 · 3 评论 -
百度2015面试:在浏览器地址栏输入URL,按下回车后究竟发生了什么?
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:原创 2014-09-23 15:51:42 · 7920 阅读 · 0 评论 -
去哪儿2015笔试题:寻找字符串的差异
去哪儿的一道笔试题。给定两个字符串a,b;找出两个字符串中不一样的字符串。如存在于a而不存在于b,则将该字符输出,同时、加一个“-”标记;若存在于b而不存在于a,则输出该字符,同时以“+”标记。若是同时存在于a、b中,则不输出。假设字符串是由字母组成。如:a="abc",b="aabcbc",则输出为"+a,+b,+c";a="abcde",b="bcdef",则输出为“-a,+f原创 2014-09-23 13:19:45 · 2482 阅读 · 0 评论 -
排序算法总结之折半插入排序
基本思想 折半插入排序是对直接插入排序的简单改进,对于直接插入排序而言,当第i-1趟需要将第i个元素插入前面的0~i-1个元素序列中时,总是需要从i-1个元素开始,逐个比较每个元素,直到找到它的位置。这显然没有利用前面0~i-1个元素已经有序这个特点,而折半插入排序则改进了这一点。 对于折半插入排序而言,当需要插入第i个元素时,它不会逐个进行比较每个元素,而是: (1)计算0~i-1索引的中原创 2014-08-29 18:27:29 · 6866 阅读 · 0 评论 -
Java解析字符串表达式--逆波兰表达式的生成
上回讲了如何计算后缀表达式,其实真正的难点在于如何将一个正常的字符串表达式(中缀表达式)变成一个后缀表达式。如将6 * ( 5 + ( 2 + 3) * 8 + 3)变为6 5 2 3 + 8 * + 3 + * 逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子:原创 2014-09-11 14:19:50 · 5378 阅读 · 2 评论 -
华为南京研究所机考练习-从考试成绩中划出及格线
描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分。运行时间限制:无限制内存限制:无限制输入:输入10个整数,取值0~100输出:输出及格线,10的倍数样例输入:...原创 2014-03-20 19:02:45 · 360 阅读 · 0 评论 -
华为南京研究所机考练习-亮着电灯的盏数
亮着电灯的盏数描述:一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有 n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是 3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把...原创 2014-03-20 19:09:06 · 276 阅读 · 0 评论 -
2013.5.19阿里巴巴实习生笔试题
转自:http://www.cnblogs.com/sooner/archive/2013/07/15/3190882.html一、单选题 1、在常用的网络协议中,___是面向连接的、有重传功能的协议。A、IP B、TCP C、UDP D、DXP分析:TCP协议为传输控制协议面向连接,IP为网际协议,UDP为用户数据报协议。。 2、500张多米...原创 2014-03-29 11:38:15 · 203 阅读 · 0 评论 -
华为南研所2014春季机试题目-2不能入住的房客数
不能入住的房客数题目描述: 有一个宾馆,只有m个房间(room),有房客(A~Z)到来时,若有空房间则可以立即入住;没有空房间则不能入住,旅客可以选择立即离开或者等待空房间;假设给定了各个旅客到达和离开的顺序(如HFBJJBKFHMMSSLPWWPLK),问有多少个旅客没能入住。 要求:输入:房间数 旅客到达离开的序列输出:最终没能入住的旅客数 ...原创 2014-03-26 11:15:23 · 151 阅读 · 0 评论 -
华为南研所2014春季机试题目-1字符串拼接
字符串拼接功能要求:字符串拼接,要求输入两个字符串src和str(长度都在256之内),以及拼接后的总长度len返回拼接后的结果拼接要求:若len大于src和str的长度和,那么将str重复拼接如:src="abc",str="123",len=10,那么结果应为"abc1231231" 若len小于src和str的长度和,那么就将str截取如:...原创 2014-03-24 19:41:12 · 134 阅读 · 0 评论 -
华为2012秋季校招机试题-数组奇偶交叉重组(题目源自网络)
数组奇偶交叉重组 对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉着放且输出数组第一位放奇数,若奇数和偶数不等长,则把剩下的直接放到数组中。 思路:先进行奇偶判断,得到奇数和偶数数组。然后对两数组排序,进行长度判断,最后组织数据。难点在于最后的数据重组,特别是在两个数组长度不相等的情况下。 package com.li...原创 2014-03-24 13:19:55 · 203 阅读 · 1 评论 -
华为2012秋季校招机试题-数组处理(题目源自网络)
数组处理 给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。 例如:input[] = {3, 6, 1, ...原创 2014-03-22 14:50:49 · 106 阅读 · 0 评论 -
华为2012秋季校招机试题-选秀节目打分(题目来自网络)
选秀节目打分选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。 打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评...原创 2014-03-22 13:23:41 · 164 阅读 · 0 评论 -
华为南研所机考练习2-计算麻将的番数
计算麻将的番数 描述:计算麻将的番数 麻将游戏越来越受到大家喜爱,也在网络上盛行。本题目是给定一组已经和牌的麻将,编写一个函数计算这组麻将的番数。为简化题目,假设麻将只有筒子和条子两种花型,能翻番的规则也只有以下三种,当一组牌中没有下述三种情况中的一种或多种,则这组牌为0番,每种番数是加的关系,例如一组牌既有卡2条又有四归一,则番数为3番。1.卡2条为...原创 2014-03-21 15:25:26 · 365 阅读 · 0 评论 -
华为南研所机考练习2 -求最大递增数
求最大递增数描述:输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。运行时间限制:无限制内存限制:无限制输入:输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况输出:输出最大递增数...2014-03-20 20:04:17 · 199 阅读 · 0 评论 -
排序算法总结之堆排序
堆的概念。 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 满足(1)的称为小根堆,满足(2)的称为大根堆。 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点原创 2014-08-20 15:58:45 · 1560 阅读 · 0 评论 -
趋势科技2015笔试题-南京
您的关注是我坚持写作的动力,如果觉得有用,欢迎关注我的微信,海量学习资源免费送!原创 2014-09-22 14:25:21 · 4169 阅读 · 6 评论 -
Java解析字符串表达式--逆波兰表达式的计算
问题来由: 读入一个字符串形式的四则运算表达式,输出对应的计算结果。如读入的是“6 * ( 5 + ( 2 + 3) * 8 + 3)”,那么解析后的输出结果应为288。 思路: 一般的计算过程是这样的,首先计算优先级最高的小括号里面的内容,即“( 5 + ( 2 + 3) * 8 + 3)”, 将“2 + 3”的计算结果并存为A,接着用计算“A*8”,并存为B 计算“5+原创 2014-09-10 16:17:58 · 15434 阅读 · 0 评论 -
华为南京研究所机考练习-亮着电灯的盏数
亮着电灯的盏数描述:一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有 n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是 3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号原创 2014-05-06 14:18:54 · 1380 阅读 · 0 评论 -
华为南研所2014春季机试题目-1字符串拼接
字符串拼接功能要求:字符串拼接,要求输入两个字符串src和str(长度都在256之内),以及拼接后的总长度len返回拼接后的结果拼接要求:若len大于src和str的长度和,那么将str重复拼接如:src="abc",str="123",len=10,那么结果应为"abc1231231" 若len小于src和str的长度和,那么就将str截取如:sr原创 2014-05-06 14:19:30 · 1101 阅读 · 0 评论 -
华为南研所2014春季机试题目-2不能入住的房客数
不能入住的房客数题目描述: 有一个宾馆,只有m个房间(room),有房客(A~Z)到来时,若有空房间则可以立即入住;没有空房间则不能入住,旅客可以选择立即离开或者等待空房间;假设给定了各个旅客到达和离开的顺序(如HFBJJBKFHMMSSLPWWPLK),问有多少个旅客没能入住。 要求:输入:房间数 旅客到达离开的序列输出:最终没能入住的旅客数 样原创 2014-05-06 14:19:35 · 871 阅读 · 0 评论 -
华为南研所机考练习2 -求最大递增数
求最大递增数描述:输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。运行时间限制:无限制内存限制:无限制输入:输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况输出:输出最大递增数原创 2014-05-06 14:19:04 · 903 阅读 · 0 评论 -
2013.5.19阿里巴巴实习生笔试题
转自:http://www.cnblogs.com/sooner/archive/2013/07/15/3190882.html一、单选题 1、在常用的网络协议中,___是面向连接的、有重传功能的协议。A、IP B、TCP C、UDP D、DXP分析:TCP协议为传输控制协议面向连接,IP为网际协议,UDP为用户数据报协议。。 2、500张多米诺骨牌整原创 2014-05-06 14:19:40 · 672 阅读 · 0 评论 -
2014年阿里巴巴9月14号笔试题总结
参见:http://blog.youkuaiyun.com/zhlfox2006/article/details/11854799http://www.myexception.cn/internet/1589836.htmlhttp://www.kaifazhe.com/programming/362042.html第一部分 单选题 1. 假设把整数关键码K散列到N个槽列表,以下哪些原创 2014-05-06 14:19:45 · 1369 阅读 · 0 评论 -
华为2012秋季校招机试题-选秀节目打分(题目来自网络)
选秀节目打分选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。 打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平原创 2014-05-06 14:19:14 · 812 阅读 · 0 评论 -
华为2012秋季校招机试题-数组处理(题目源自网络)
数组处理 给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。 例如:input[] = {3, 6, 1, 9,原创 2014-05-06 14:19:19 · 916 阅读 · 0 评论 -
华为南京研究所机考练习-从考试成绩中划出及格线
描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分。运行时间限制:无限制内存限制:无限制输入:输入10个整数,取值0~100输出:输出及格线,10的倍数样例输入:61 5原创 2014-05-06 14:18:49 · 1523 阅读 · 0 评论 -
华为2012秋季校招机试题-数组奇偶交叉重组(题目源自网络)
数组奇偶交叉重组 对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉着放且输出数组第一位放奇数,若奇数和偶数不等长,则把剩下的直接放到数组中。 思路:先进行奇偶判断,得到奇数和偶数数组。然后对两数组排序,进行长度判断,最后组织数据。难点在于最后的数据重组,特别是在两个数组长度不相等的情况下。 package com.liuh原创 2014-05-06 14:19:24 · 819 阅读 · 0 评论 -
servlet默认是线程安全的吗
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。 当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Servlet容器会自动使用线程池等技术来支持系统的运行,如图1所示。 这样,原创 2014-09-09 16:33:27 · 3858 阅读 · 0 评论 -
2014-7-29-阿里电面-第一轮
等了好久,以为简历要挂了,今天终于打来了,面试过程中手抖嘴抖有木有! 1、经常用的集合类,我回到ArrayList、LinkedList、HashMap,接着问ArrayList、LinkedList的区别,以及分别的适用范围。看了Java集合类基本上是必考! 2、有一个需求,要对一个对象的list排序,该如何排序!我回答要实现Comparator接口来规定下排序规则,然后在用Co原创 2014-07-29 16:19:25 · 1643 阅读 · 2 评论 -
Servlet的生命周期
Servlet生命分为四个阶段: 1.加载 这个阶段由Servlet容器完成。例如tomcat,jetty等。当容器加载一个Servlet后不会立刻实例化它。通常是在用户第一次请求时完成实例化操作。 2.实例化和初始化 在Servlet实例化之后它会调用它的init()方法,在这个方法里可以写上所需的初始化参数,并且该方法只会被调用一次。 *需要注意的是容器创建Servlet实例是通过j原创 2014-09-09 16:45:06 · 1652 阅读 · 0 评论 -
排序算法总结之归并排序
基本思想 设归并排序的当前区间是R[low..high],分治法的三个步骤是: ①分解:将当前区间一分为二,即求分裂点 ②求解:递归地对两个子区间R[low..mid]和R[mid+1..high]进行归并排序; ③组合:将已排序的两个子区间R[low..mid]和R[mid+1..high]归并为一个有序的区间R[low..high]。原创 2014-09-07 19:39:38 · 1659 阅读 · 0 评论 -
排序算法总结之希尔排序
希尔排序(Shell Sort)是插入排序的一种,其实质就是分组插入排序,该方法又称缩小增量排序,因D.L.Shell于1959年提出而得名。它是对直接插入排序的一种改进,通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使得数据项大跨度的移动。 基本思想 先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后原创 2014-09-07 16:12:12 · 1361 阅读 · 0 评论 -
java.util.ComparableTimSort中的sort()方法简单分析
TimSort算法是一种起源于归并排序和插入排序的混合排序算法,设计初衷是为了在真实世界中的各种数据中可以有较好的性能。该算法最初是由Tim Peters于2002年在Python语言中提出的。 TimSort 是一个归并排序做了大量优化的版本。对归并排序排在已经反向排好序的输入时表现O(n2)的特点做了特别优化。对已经正向排好序的输入减少回溯。对两种情况混合(一会升序,一会降序)的输入处理比较原创 2014-07-30 13:42:47 · 16187 阅读 · 4 评论 -
Collections中sort()方法源代码的简单分析
Collections的sort方法代码: public static void sort(List list, Comparator c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterator(); for (int j=0; j i.next原创 2014-07-29 17:56:17 · 11537 阅读 · 0 评论 -
git和SVN的区别
1)GIT是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并 不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial原创 2014-07-30 14:12:53 · 67129 阅读 · 11 评论