自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP中的uniqid在高并发下的重复问题

最近项目中有用到生成token校验的问题。首先考虑用php中的uniqid()函数生成随机串,但是由于该函数好似基于微秒时间级别的。在高并发的情况下,就有可能会生成相同的值。解决方案1:uniqid(rand(1,10000)), 该函数的第一个参数可用作生成数的前缀,如此,大大降低了生成数的重复率。但是重复的可能性还是存在的解决方案2:md5(uniqid()),  使用md5()函数,

2014-07-30 09:58:30 5686 8

原创 日志分析方法概述

最近几年日志分析这方面的人才需求越来越多,主要伴随数据挖掘的快速发展而迅速增长的。碰巧又在工作中又接触到一些日志记录方面的工作,就顺便了解一下日志系统的整个流程。下面这篇文章转自百度同学的一篇文章,针对大规模日志分析,联系到hadoop,hive的解决方案,阐述的比较全面。另外就是阿里已经开发出类似的系统odps—通过sql语言进行数据的分析处理,详情见:http://102.alibab

2014-07-17 16:26:52 2241

原创 一道百度架构题

无论笔试还是面试总会被问到一些架构题,关键还无法理解面试官究竟在问什么。开始积累这些题吧,放到下面1、有一个监控系统,有大量的数据记录包括{url,用户访问ip,时间},要对这个监控系统进行维护,并提供查询。 设计一个能存储和维护1000亿条记录,实时监控,并支持一下两种查询: 1. 指定任意一个时间段(精确到分钟)和某个url,查处这个时间段内的所有url的访问总量。 2. 指定

2014-06-08 20:49:11 1523

原创 由PHP底层工作原理说起

之前做过.net,java开发,也写过几个Php的网站,似乎3种主要编程语言都接触了。但是越来越觉得自己对编程的整个流程缺乏一个整体的认识,尤其是底层的机制。譬如网络编程,编译原理,服务器端,数据库存储引擎原理等。于是看了一些书,比较经典的有apue,unp,tcp/ip,nginx,mysql的innodb存储引擎,深入理解jvm。渐渐发现无论用什么语言做开发,背后都有linux,shell,c

2014-06-06 23:31:46 2989

原创 2014腾讯实习生面试经历(重庆站)

第一次面腾讯这种高大上的IT公司,还是记录一下经历吧。地点在南坪万达艾美酒店,时间下午3点。由于提前到了,也就提前面试了。之前就听说面试问题跟面试官关系很大,这次果然应验了。面试前几天,把8种排序算法,查找算法,还有常用设计模式练得滚瓜烂熟,你妹,居然一个没用上。        面试官看了一会简历后,问我是windows编程的哈,答曰:日。他说他以前也做windows编程的,最后转向Lin

2014-04-24 17:46:42 2348 7

原创 2014阿里实习生面试题——哈希的原理和java中hashmap如何实现的

1、哈希的原理哈希的出现时因为传统数据结构如线性表(数组,链表等),树中,关键字与其它的存放位置不存在对应的关系。因此在查找关键字的时候需要逐个比对,虽然出现了二分查找等各种提高效率的的查找算法。但是这些并不足够,希望在查询关键字的时候不经过任何比较,一次存取便能得到所查记录。因此,我们必须在关键字和其对应的存储位置间建立对应的关系f。这种对应的关系f被称为哈希函数,按此思想建立的表为哈希表。

2014-04-22 12:51:08 1908

原创 2014阿里实习生面试题——mysql如何实现索引的

这是2014阿里实习生北京站二面的一道试题:在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,比如MyISAM和InnoDB存储引擎。MyISAM索引实现:MyISAM存储引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。MyISAM的索引方式也叫做“非Ju集”的,之所以这么称呼是为了与InnoDB的ju集索引区分。

2014-04-22 11:00:45 6743 2

转载 漫谈高数,特征向量物理意义

什么是特征向量,特征值,矩阵分解[1. 特征的数学意义]        我们先考察一种线性变化,例如x,y坐标系的椭圆方程可以写为x^2/a^2+y^2/b^2=1,那么坐标系关于原点做旋转以后,椭圆方程就要发生变换。我们可以把原坐标系的(x,y)乘以一个矩阵,得到一个新的(x',y')的表示形式,写为算子的形式就是(x,y)*M=(x',y')。这里的矩阵M代表一种线性变换:拉伸,平

2014-04-21 12:48:22 4318

转载 特征选择与特征权重计算的区别

在文本分类的过程中,特征(也可以简单的理解为“词”)从人类能够理解的形式转换为计算机能够理解的形式时,实际上经过了两步骤的量化——特征选择阶段的重要程度量化和将具体文本转化为向量时的特征权重量化。初次接触文本分类的人很容易混淆这两个步骤使用的方法和各自的目的,因而我经常听到读者有类似“如何使用TFIDF做特征选择”或者“卡方检验量化权重后每篇文章都一样”等等困惑。文本分类本质上也是一个模式

2014-04-21 12:07:42 1295

原创 2014腾讯实习生笔试题——define与typedef

2014腾讯实习生笔试(广州站)第26题填空题:#define MAX_NUM 1000+1int Temp = Max_NUM*10;则Temp的值为( )答案是:1010, 因为宏定义只是一个简单的文本替换。替换后Tem==1000+1*10,故temp=1010,而不是想象中的10010.如想真正表达预想含义,需要加个括号:#define MAX_

2014-04-20 09:55:40 1944

原创 2014腾讯实习生笔试——蒙特卡洛算法求圆周率

这是2014腾讯实习生笔试(西安,武汉站)的第26题。给出二个函数,让你去理解其含义。答案是:第一个函数式用来产生(a,b)之间的随机小数。第二个函数式用蒙特卡洛概率算法求近似圆周率。先介绍一下该方法(蒙特卡洛算法):以 概率和统计理论方法为基础的一种计算方法。将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解。比如,给定 x=a ,和 x=b ,你要求某

2014-04-19 09:18:51 3088

原创 c语言函数天天见

总结在学习过程中遇到的c语言函数:1、相关函数:fstat, lstat, chmod, chown, readlink, utime头文件:#include   #include 定义函数:int stat(const char * file_name, struct stat *buf);函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf

2014-04-18 21:33:24 1127

原创 操作系统名词大串烧

总结一些学习过程中遇到的新名词,新概念,日积月累。1、copy on write(COW机制)写时拷贝  (1)linux进程应用:在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。  (2)其他应用:C

2014-04-18 15:49:03 1290

原创 2014腾讯实习笔试题——优先队列

2014腾讯实习笔试题第二题是关于优先队列的,不是很熟悉,查阅了一下资料,总结一下:优先队列是基于堆(二叉堆)实现的,每当加入(push)一个新元素时,会根据优先级,将优先级最大(或最小)的元素按照堆排序(大顶堆,小顶堆)的方式放到堆顶。如此的话,返回的堆顶元素(top)即优先级最高(或最小)的元素。当然,在pop()操作之后,仍然要进行堆排序,调整元素位置

2014-04-18 11:04:32 1696

原创 创建二叉树方法大总结

在做算法题的时候,经常需要创建二叉树做测试,包括字符型,整型,查找二叉树,方法也很多。但是由于从键盘读取数据时,总是读取回车字符,导致出错。所以把这几种方法总结一下放到这里

2014-04-15 21:52:49 1346

原创 求m*n矩阵中最大的子矩阵(元素和最大)

注意此处是求子矩阵的最大值,不是2维子矩阵的最大值,2维子矩阵

2014-04-15 15:01:48 7551

原创 实现一个生产者消费者队列

题目:实现一个队列。 队列的应用场景为: 一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列 。先做一个线程同步概述:

2014-04-15 10:09:25 3757

原创 输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和

此题有二种解法,第一种比较传统,时间复杂度太高,不探讨。第二种方法

2014-04-11 13:21:26 1633

转载 static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较

转载请注明来源 http://www.cnblogs.com/jerry19880126/ 隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如下图所示。宽化转换(如char到int,in

2014-04-10 20:34:06 858

原创 字符串指针vs字符数组

定义一个字符串有二种方式:1、char *p="welcome to china"//指针指向2、char srr[10]="welcome to china"//字符串数组第1种方式:char *str="67999998";str++;//指针地址加1coutcout第2种方式:char str2[8]="888";str2++//错误,不能对数

2014-04-08 15:46:50 1027

原创 约瑟夫环问题

题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总

2014-04-08 10:13:33 891

原创 堆和栈的区别

在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教

2014-04-07 12:40:43 888

原创 关于结构体成员变量初始化的一些资料

今天来讨论一下C中的内存管理。记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面我说所有指针使用前都必须初始化,结构体中的成员指针也是一样有人反驳说,不是吧,以前做二叉树算法时,他的左右孩子指针使用时难道有初始化吗那时我不知怎么的想不出理由,虽然我还是坚信要初始化的过了几天这位同事说他试了一下,结构体中的成员指针不经过初始化是可以用(左子树和右子树指针)那

2014-03-30 21:37:22 3253 1

原创 判断两个链表是否相交

找了好几篇文章,就这一篇质量比较高,分析的比较透彻整体思路:1.首先假定链表不带环那么,我们只要判断俩个链表的尾指针是否相等。相等,则链表相交;否则,链表不相交。2.如果链表带环,那判断一链表上俩指针相遇的那个节点,在不在另一条链表上。如果在,则相交,如果不在,则不相交。所以,事实上,这个问题就转化成了:1.先判断带不带环2.如果都不带环

2014-03-26 22:35:43 1122

原创 c++中vector的一点介绍

今天做第2题的时候,用到了这个vector,不是很熟悉,搜索了一下:vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。具体的函数不再赘述,网上的资料很多。

2014-03-26 15:59:43 779

原创 海里数据处理面试题中的一些概念介绍

今天下午阅读了《十道海量数据处理面试题与十个方法大总结》一文,具体内容不再赘述。只是将其中几个不太熟悉的知识点整理一下。1、Bitmap算法所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设

2014-03-25 23:05:03 1209

《计算机文化基础》参考答案

《计算机文化基础》课后习题参考答案。包括计算机发展历史,计算机的原理等等知识点。

2014-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除