面试一
mengfanteng
这个作者很懒,什么都没留下…
展开
-
面试 1
最近参加了几次面试,发现公司的笔试题目有一些相似之处,就总结一下:一般会从下面几个方面考,不管是面试C++,C#,java都是首先是关于关键字和标示常量的考察然后是关于类和接口的试题然后是关于array,io和socket的试题然后是关于数据库的各种sql语句的考察然后是排序,包括快速排序,插入排序,选择排序然后是设计模式的考察一原创 2013-06-18 20:55:30 · 642 阅读 · 0 评论 -
写一个随机洗牌函数
题目写一个随机洗牌函数。要求洗出的52!种组合都是等概率的。 也就是你洗出的一种组合的概率是1/(52!)。假设已经给你一个完美的随机数发生器。解答这是一道非常有名的面试题,及非常有名的算法——随机洗牌算法。最直观的思路是什么?很简单,每次从牌堆中随机地拿一张出来。那么, 第一次拿有52种可能,拿完后剩下51张;第二次拿有51种可能,第三次拿有50种可能, …,一直转载 2016-07-15 21:11:06 · 2273 阅读 · 0 评论 -
C++ bitmap
题目有一个数组,里面的数在1到N之间,N最大为32000.数组中可能有重复的元素(即有的元素 存在2份),你并不知道N是多少。给你4KB的内存,你怎么把数组中重复的元素打印出来。解答我们有4KB的内存,一共有4 * 210 * 8位,大于32000,所以我们可以用Bit Map 来做这道题目。题目很简单,不过我们可以把代码写得漂亮一些。 我们可以写一个Bit Map类来完成转载 2016-07-15 16:48:00 · 1087 阅读 · 0 评论 -
原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式转载 2016-07-15 15:24:09 · 357 阅读 · 0 评论 -
为什么8位二进制的补码取值范围是-128~127
转载 2016-07-15 15:23:02 · 4039 阅读 · 2 评论 -
C++中 overload 、override、overwrite 之间的区别
Overload、Overwrite和Override的概念比较容易混淆,而且Overwrite和Override的中文翻译五花八门,让人很Confuse,顾保持英文原意:Overload 重载在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不转载 2016-07-13 10:32:44 · 472 阅读 · 0 评论 -
111
memcpy memmove一维数组最长连续累加和最大位运算 数据备份一个 两个元素丢失编程之美象棋问题STL sort算法复杂度问题原创 2016-06-03 17:20:23 · 354 阅读 · 0 评论 -
memcpy与memmove
1.source和destin所指的内存区域可能重叠,但是如果source和destin所指的内存区域重叠,那么这个函数并不能够确保source所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。函数返回指向destin的指针.2.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标原创 2016-06-02 22:01:46 · 514 阅读 · 0 评论 -
如何准备互联网公司面试(算法相关)
来源:http://meterfield.com/otbzi/index.php/2011-03-17/2010-interview-summary-part2/PS. 推荐一个算法blog,http://blog.csdn.net/v_july_v/,http://blog.csdn.net/v_july_v/article/details/6543438以下为转载原文本转载 2016-05-17 16:54:51 · 441 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题
本文经过大量细致的优化后,收录于我的新书《编程之法》第六章中,新书目前已上架京东/当当/亚马逊作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理转载 2016-05-18 17:17:23 · 528 阅读 · 0 评论 -
如何给10^7个数据量的磁盘文件排序
前奏 经过几天的痛苦沉思,最终决定,把原程序员面试题狂想曲系列正式更名为程序员编程艺术系列,同时,狂想曲创作组更名为编程艺术室。之所以要改名,我们考虑到三点:1、为面试服务不能成为我们最终或最主要的目的,2、我更愿把解答一道道面试题,ACM题等各类程序设计题目的过程,当做一种艺术来看待,3、艺术的提炼本身是一个非常非常艰难的过程,但我们乐意接受这个挑战。 ok,如果任何人对本编转载 2016-05-18 17:13:09 · 641 阅读 · 0 评论 -
TCP的拥塞控制
计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。2.慢开始与拥塞避免 发送方维持一原创 2016-05-18 16:10:24 · 388 阅读 · 0 评论 -
【面试虐菜】—— 云计算知识汇总
IaaS 【infrastructure as a service】 基础架构即服务 Amazon AWSSaaS 【software as a service】 Salesforce.comPaaS 【platform as a service】 google appp engine Hashing 适用范围:快速查找,删除的基本数据结构,通常需要总数据量可以放入内存转载 2016-05-27 22:23:35 · 591 阅读 · 0 评论 -
海量数据处理:十道面试题与十个海量数据处理方法总结
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几转载 2015-06-04 23:22:05 · 420 阅读 · 0 评论 -
15个顶级Java多线程面试题及答案
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。2)在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎转载 2015-01-17 16:41:40 · 748 阅读 · 0 评论 -
有趣的C语言面试题
1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代原创 2013-07-06 16:38:23 · 721 阅读 · 0 评论 -
面试 3
最近参加了几次面试,发现公司的笔试题目有一些相似之处,就总结一下:一般会从下面几个方面考,不管是面试C++,C#,java都是首先是关于关键字和标示常量的考察然后是关于类和接口的试题然后是关于array,io和socket的试题然后是关于数据库的各种sql语句的考察然后是排序,包括快速排序,插入排序,选择排序然后是设计模式的考察一原创 2013-06-18 20:58:18 · 719 阅读 · 0 评论 -
面试 2
最近参加了几次面试,发现公司的笔试题目有一些相似之处,就总结一下:一般会从下面几个方面考,不管是面试C++,C#,java都是首先是关于关键字和标示常量的考察然后是关于类和接口的试题然后是关于array,io和socket的试题然后是关于数据库的各种sql语句的考察然后是排序,包括快速排序,插入排序,选择排序然后是设计模式的考察一原创 2013-06-18 20:57:13 · 620 阅读 · 0 评论 -
几个取石头的博弈~~简单归纳,大神不要笑~~
一,不知道是什么博弈。 简单描述:有一堆石头共有n个,两个人来轮流取每次取得数量在1首先来看假如n=m+1的时候,明显后手胜。那么可以推论当n=s*(m+1)时后手一直保持取m+1-k个那么到最后依旧转化到n=m+1的状况。那么当n=s*(m+1)+ss时那么先手胜。转换成s*(m+1)只需要取掉这ss就可以了,注意这时先手上一情况里面的后手那么按照那种状况就可以转载 2016-10-12 21:15:40 · 2942 阅读 · 0 评论