自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 位图法--解决海量数据问题(查找是否存在,不重复数据)

1.  概述位图(bitmap)是一种非常常用的结构,在索引,数据压缩等方面有广泛应用。本文介绍了位图的实现方法及其应用场景。位图法就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。2. 位图实现(1)自己实现在位图中,每个元素为“0”或“1”,表示其对应的元素不存在或者存在。

2017-04-10 12:32:56 2499

转载 c++研发面试

作者:Simon_链接:https://www.nowcoder.com/discuss/23512来源:牛客网对自己一个月以来的内推实习做个总结。希望大家也能找到一个好实习。 :D 主要是C++研发内推实习的面试题。包括阿里云,网易游戏,腾讯,完美游戏,神马搜索。华为的面试题比较友好,感觉像聊天,所以没有记录。 阿里云(C++研发)1面:

2017-04-10 11:18:43 4482

转载 腾讯实习面试

作者:KevinHX链接:https://www.nowcoder.com/discuss/23255来源:牛客网从春季开学至今陆陆续续面了很多实习,岗位是C++/后台开发,也被刷了很多次,最后拿到的是网易互娱和腾讯IEG(魔方工作室)的offer,这里简单记录一下准备过程和面试时的问题,希望能帮到同样在找实习的同学们。一、面试准备首先从去年9月开始,陆

2017-04-10 11:17:01 935

转载 海量数据处理2

海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。http://blog.csdn.net/v_JULY_v/article/d

2017-04-10 11:15:55 356

转载 数据库引擎底层原理B+树

摘要本文介绍MySQL的InnoDB索引相对底层原理相关知识,涉及到B+Tree索引和Hash索引,但本文主要介绍B+Tree索引,其中包括聚簇索引(InnoDB)和非聚簇索引(MyIASM),InnoDB数据页结构详解,B+Tree索引的使用以及优化,同时还有B+Tree索引的查询流程简介。此文是我对学习InnoDB索引的一个总结,内容主要参考MySQL技术内幕 InnoDB存储

2017-04-07 21:00:35 5999

转载 awk用法

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2017-04-06 09:40:43 530

转载 海量数据处理题

BAT、FLAG(Facebook,LinkedIn,Amazon/Apple,Google)这类涉及到大数据的公司面试的时候都喜欢问关于海量数据处理的问题,本文将对海量处理问题进行总结。我买了July出的《编程之法》,对海量数据处理问题有总结。问题介绍:所谓海量数据处理,无非就是基于海量数据上的存储(内存限制)、处理(用什么数据结构)、操作(数据结构用什么算法)。何谓海量

2017-04-04 22:29:35 815

转载 常见的C++面试题与知识点总结(一)

1. 结构体和共同体的区别。定义:结构体struct:把不同类型的数据组合成一个整体,自定义类型。共同体union:使几个不同类型的变量共同占用一段内存。地址:struct和union都有内存对齐,结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。关于内存对齐,先让我们看四个重要的基本概念:1.数据类型自身的对齐值:对于cha

2017-04-04 22:24:01 1001

转载 linux试题汇总

转载:http://linuxgirl.blog.51cto.com/1910230/378876 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节

2017-04-04 16:26:07 2064

转载 c++内存布局最完整

大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处!既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C++是从C语言的基础上发展

2017-03-31 22:29:21 5683 5

原创 腾讯后台开发笔试题

1、有1000亿条记录,每条记录由url,ip,时间组成,设计一个系统能够快速查询以下内容1.给定url和时间段(精确到分钟)统计url的访问次数2.给定ip和时间段(精确到分钟)统计ip的访问次数答:首先,1000亿条记录全部放到内存肯定不够,那就是分成小文件了,然后整合;公共的时间段,因为精确到分钟,我们把这每一分钟建成一个小文件,每个小文件肯定会有许多重复的ip,url;

2017-03-30 22:30:47 3238

原创 计算机内存地址对齐与类大小

计算机内存中的对齐一、什么是对齐,以及为什么要对齐⒈现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。⒉对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些

2017-03-29 22:33:02 916

转载 c++11十个常用新特性

在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下面是我总结的,C++开发者都需要学习和使用的C++11新特性。 auto在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类

2017-03-29 17:15:01 1297

转载 智能指针shared_ptr实现

若要使用到项目, 请将 引用计数类 的引用计数增减使用原子操作. 以下代码有些细节问题, 修正后的代码参见: https://gist.github.com/2986880namespacesmart{    // 引用计数类.    classsmart_count    {    public:

2017-03-29 16:10:16 471

原创 伙伴系统和slab缓存详解

本节,我将介绍linux系统物理内存分配时所用到的技术——伙伴系统和slab缓存。知识背景1. DMA/HIGH_MEM/NROMAL 分区在x86结构中,Linux内核虚拟地址空间划分0~3G为用户空间,3~4G为内核空间(注意,内核可以使用的线性地址只有1G)。内核虚拟空间(3G~4G)又划分为三种类型的区:ZONE_DMA 3G之后起始的16MBZONE_NO

2017-03-28 16:39:51 2026

转载 内存管理实质

1. 内核初始化:    * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系;    * 内核建立一个page数组,page数组和物理页面系列完全是线性对应,page用来管理该物理页面状态,每个物理页面的虚地址保存在page->virtual中;    * 内核建

2017-03-27 22:29:50 269

转载 linux内存管理(一)

来源:http://www.cnblogs.com/hoys/archive/2011/09/08/2171606.html摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存

2017-03-27 22:17:48 238

转载 内存分配函数介绍

brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:       每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在内核的管理下将虚拟

2017-03-27 22:15:03 1072

转载 c++面试

作者:caelum链接:https://www.nowcoder.com/discuss/13362?type=2&order=0&pos=32&page=1来源:牛客网写在前面的话:         今天收到了腾讯的签约邀请,这意味着我的秋招之旅基本上可以结束了。平时经常在牛客上刷题以及看大家分享的面经,受益匪浅,因此趁着还有点小激动,跟大家分享下我的经历。首先来总结一下

2017-03-27 18:28:31 633

转载 名企面试题

作者:臣貝又 链接: https://www.nowcoder.com/discuss/20922?type=2&order=0&pos=24&page=1 来源:牛客网 其他的都不说了,按公司聊聊经历,希望能够帮助到即将要找实习的师弟师妹们。    (一)出门不满油,开车还撞墙。        刚刚来学校的我,没有缓过神,看了些C++具备一点面向对象开

2017-03-27 18:19:39 831

原创 进程调度算法

Linux进程调度的目标:    1.高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效;    2.加强交互性能:在系统相当的负载下,也要保证系统的响应时间;    3.保证公平和避免饥渴;    4.SMP调度:调度程序必须支持多处理系统;    5.软实时调度:系统必须有效的调用实时进程,但不保证一定满

2017-03-27 16:31:11 327

转载 linux启动流程

[正文开始]启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个

2017-03-26 22:18:40 315

原创 进程切换、创建与退出流程详解

1、执行进程切换从本质上说,每个进程切换由两步组成:发生在schedule()函数切换页全局录以安装一个新的地址空间;切换内核态堆栈和硬件上下文,因为硬件上下文提供了内核执行新进程所需要的所有信息,包含CPU寄存器。进程切换的第二节由switch_to宏执行。2、进程的创建传统的Unix操作系统以统一的方式对待

2017-03-26 21:48:06 1708

转载 linux内存寻址

计算机内存寻址计算机管理内存的基本方式有两种:段式管理和页式管理。而在使用80x86微处理器时,内存地址分为三个不同的地址:逻辑地址,线性地址,物理地址。他们之间有什么关系,内存是如何寻址,本文主要介绍的就是内存寻址。1、基本概念:cpu段式管理:段式管理的基本原理是指把一个程序分成若干个段(segment)进行存储,每个段都是一个逻辑实体(logical entity)。一个

2017-03-26 16:24:17 441

转载 Redis常用数据类型详解

Redis常用数据类型详解1,Redis最为常用的数据类型主要有以下:StringHashListSetSorted setpub/subTransactions在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和

2017-03-22 15:42:17 354

转载 高可用分布式集群

一,高可用高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。(1)解决单点问题主要有2种方式:主备方式这种通常是一台主机、一台或多台备机,在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机后,

2017-03-22 15:35:01 710

原创 redis 面试总结篇

同样是针对面试被问了redis,来做的笔记:1. 使用Redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(

2017-03-22 15:32:16 9289

原创 redis架构

最近参加阿里实习被问redis架构,瞬间懵逼了!!所特意去学习了下Redis免得下次又被问懵逼!!!!!!!!!!!         Redis是一个开源的先进的键值存储系统(Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。)。它通常可以用作数据结构服务器,因为它的键可以包含字符串(String)、哈希值(hash)、列表

2017-03-22 11:55:19 1189 1

转载 同步/异步,阻塞/非阻塞区别

一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数

2017-03-22 11:08:57 374

原创 网易编程题:概率论方面

来源:网易游戏题目:在一条无限长的跑道上,有N匹马在不同的位置上出发开始赛马。当开始赛马比赛后,所有的马开始以自己的速度一直匀速前进。每匹马的速度都不一样,且全部是同样的均匀随机分布。在比赛中当某匹马追上了前面的某匹马时,被追上的马就出局。 请问按以上的规则比赛无限长的时间后,赛道上剩余的马匹数量的数学期望是多少 输入描述:每个测试输入包含1个测试用例输入只有一行,一个

2017-03-02 16:09:36 1475 1

原创 网易编程题:连续字符转换

出自:2017网易实习编程题题目:给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。代码:#include #include#include #includeusing namespace std; int main() { string str1;

2017-03-02 15:49:16 1085 1

转载 Rabin-Karp 算法

Rabin-Karp 算法(字符串快速查找)   Go 语言的 strings 包(strings.go)中用到了 Rabin-Karp 算法。Rabin-Karp 算法是基于这样的思路:即把字符串看作是字符集长度进制的数,由数值的比较结果得出字符串的比较结果。  朴素的字符串匹配算法为什么慢?因为它太健忘了,前一次匹配的信息其实有部分可以应用到后一次匹配中去,而朴素的字符串匹配算

2017-02-27 21:56:44 475

转载 KMP算法详解

KMP算法        在介绍KMP算法之前,先介绍一下BF算法。一.BF算法    BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。    举例说明:    S:  ababca

2017-02-16 19:57:39 349

原创 c++成员函数之static和const作用

一,静态成员函数 1.静态成员函数的地址(内存中真正地址)可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下: class base{ static int func1(); int func2(); }; int (*pf1)()=&base::func1;//普通的函数指针 int (base::*pf2)()=&base::

2017-01-06 15:15:41 1164

原创 linux netstat详解

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q S

2016-12-26 09:43:48 567

转载 arduino和MG111二氧化碳传感器采集co2

原文地址:http://wiki.dfrobot.com.cn/index.php/(SKU:SEN0159)CO2_二氧化碳传感器模块_V1#.E6.A0.B7.E4.BE.8B.E4.BB.A3.E7.A0.81.E4.BA.8C(SKU:SEN0159)CO2 二氧化碳传感器模块 V1目录 [

2016-12-18 20:46:15 7926

转载 struct用法及其构建网络传输报文

struct用法深入探索 作者: Cloudward 1. struct的巨大作用  面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区

2016-12-15 17:22:36 1506

转载 Redis设计思路学习与总结

Redis设计思路学习与总结宋增宽 标签: Redis2016-12-07 14:53:47 87宋增宽,腾讯工程师,16年毕业加入腾讯,从事海量服务后台设计与研发工作,现在负责QQ群后台等项目,喜欢研究技术,并思考技术演变,专注于高并发业务架构的设计与性能优化。下半年利用空余时间研究和分析了部分Redis源码,本文从网络模型、数据结构和内存管理、持

2016-12-14 21:53:58 609

原创 php调用c++

最近在建个php网站,到时我php学得不好,很多都行都想用c/c++来实现,其实很多都行c++和c确实更好实现。所以一直搞怎么用php调用c程序,最终还是找到解决方法,现在我们就用PHP调用一个C++程序,就显示hello world吧。首先我们应该先写一个C++程序,代码如下 ://我首先编辑的这个C++的文件名为hello.cpp#include #include int

2016-12-11 22:07:21 4017 2

转载 lnmp一键安装包

https://lnmp.org/install.html系统需求:CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统需要5GB以上硬盘剩余空间需要128MB以上内存(如果为128MB的小内存VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!

2016-12-01 16:54:09 1171

车牌识别字符模板

车牌识别字符模板有:数字,字母和各省份字符

2016-07-22

空空如也

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

TA关注的人

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