面试
文章平均质量分 68
Daemon_1994
这个作者很懒,什么都没留下…
展开
-
Linux内核的malloc实现(Oracle的cache buffer影子)
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/12845059本文介绍一下malloc的原理,对mm感兴趣(或者对Oracle internal实现感兴趣。注: 不是自以为感兴趣 )的同学能在本文找到感兴趣的内容。malloc主要由两个结构体做支撑。struct bucket_de原创 2015-12-27 01:54:32 · 973 阅读 · 0 评论 -
软中断网卡处理&Linux高性能外部设备处理机制
Jack:Linux外部设备的性能如何才能高呢?我:你为什么希望外部设备的性能好呢?Jack:典型的说,外部设备如磁盘、网卡都需要非常好的性能。磁盘设备处理性能好,才能承载数据库系统。网卡性能好,才能承载高性能server(数据库或者web server)。我:那你觉得用什么样的方式处理这两个外部设备,它的性能会好呢?Jack:外部设备要好,当然应该采用中断方式,这原创 2015-12-01 23:28:59 · 719 阅读 · 0 评论 -
Linux内核的信号机制——怪胎
信号机制是Unix的一大特色,因为是特色,所以很多同学在编程时,有些不能理解(超出理解范围?)。本文对Linux信号机制做一个分析。常见signal使用如下:void mysig(){printf("got a sig!\n");}int main() { printf("process id is %d !\n",getpid()); si原创 2015-12-01 23:12:46 · 463 阅读 · 0 评论 -
Linux的slab设计
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18743391Slab机制最初起源于Solaris的内存管理,主要用于消除小对象(C结构体)频繁地分配和释放导致的内存碎片问题。回忆一下,Server四大性能因素吧,这是个致命的问题。Slab机制的总体思想是当不使用这些对象的时候原创 2015-12-01 23:58:09 · 601 阅读 · 0 评论 -
学习源代码内核一定要独立思考、勤于实践
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/43772011今天给两位大二的学生讲解了某开源数据库源代码改造的思路。非常失望。以他们的基础,按照原计划现在他们应该在调试代码了。但是现实让我大跌眼镜。天道酬勤,只有坚韧勤奋才能成就超越常人之实力。望珍惜自己的青春和才华。原创 2015-12-01 23:43:47 · 477 阅读 · 0 评论 -
Linux内核之——C语言“徒手”写内存!
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18990055在application程序猿的眼中,C语言写内存的方法,千篇一律,如下:struct mystr * ptr;ptr = malloc(sizeof(*ptr));ptr->fildA='abc';ptr->fildB=原创 2015-12-01 23:55:04 · 458 阅读 · 0 评论 -
Linux下配置文件读取操作流程及其C代码实现
一、概述 Linux具有免费、可靠、安全、稳定、多平台等特点,因此深受广大程序员的欢迎。 为了体现软件产品的灵活性,可添加配置文件存放某些重要的参数,在部署的时候根据实际的安装环境对每个配置项的值进行设置。这就要求程序能够准确读取到各个配置项的值。 本文详细介绍了Linux下配置文件的读取方法及读取操作的C代码实现,为相关的软件开发工作的开展提供了有益的参考。二、配置文件介绍转载 2015-12-01 23:08:47 · 504 阅读 · 0 评论 -
一波面经。。。
美团2015校招面经-软件研发岗 (拿到offer)一面上来我问“要自我介绍不?”。面试官一上来说不用了,先写几段代码吧!然后,第一题:给你两个字符串str1,str2,找出str2在str1中的位置。我一看题目心中暗喜,这个好做,好歹都写过求两个字符串的最长公共子串,求一个字符串的重复子串原创 2015-12-29 15:12:21 · 3368 阅读 · 0 评论 -
国内笔试面试风格及准备方法
第一节 国内笔试面试风格及准备方法免费试听分享面试经验,通过例题分析国内面试的风格及准备方法1) C/C++部分:2)实现 memcpy 函数STL 中 vector 的实现原理2)概率题部分:给 N 张牌和一个随机函数,设计一个算法对这堆牌进行洗牌3)智力题部分25 匹马,5 个赛道,最少赛多原创 2015-12-29 15:02:55 · 1329 阅读 · 0 评论 -
美团、58、百度、阿里面经
2015-05-12 分类:Java 阅读(1175) 评论(0) 今天在清理电脑文件的时候,发现有一份当年记录的文件,里面记录了我当年参加面试的时候面试官问我的问题。想想还是写出来。希望看到的人能有点收获百度一面:自我介绍、hashmap和hashtable区别、对线程安全的理解、讲讲web三大架构、为什么要用struts做mvc、原创 2015-12-12 23:18:32 · 669 阅读 · 0 评论 -
关于分布式一致性的探究
2015-12-03 分类:框架 阅读(823) 评论(2) 随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在初识分布式系统一文中简单介绍了分布式的基本概念,本文将在上篇文章的基础上继续学习分布式的一致原创 2015-12-12 23:19:00 · 648 阅读 · 0 评论 -
深入剖析 linux GCC 4.4 的 STL string
本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Write技术。平台:x86_64-redhat-linuxgcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)1. 问题提出最近在我们的项目当中,出现了两次与使用string相关的问题。1.1. 问题1:新代原创 2015-11-14 04:35:47 · 448 阅读 · 0 评论 -
一看就明白的爬虫入门讲解:基础理论篇
摘要:本文作者诸葛IO创始人/CEO孔淼从基础理论入手,详细讲解了爬虫内容,分为六个部分:我们的目的是什么;内容从何而来;了解网络请求;一些常见的限制方式;尝试解决问题的思路;效率问题的取舍。CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、寻求《近匠》报道,或给文章挑错,欢迎原创 2015-11-14 04:34:44 · 1313 阅读 · 0 评论 -
面试心得与总结---BAT、网易、蘑菇街
之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使大家少走点弯路 , 如果能耐心读完,相信对你会找到你需要的东西。先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(非计算机),大学阶段也就学了C语言,根本没想过最后要成为码农。大四才开始学java,研转载 2015-09-23 12:52:08 · 719 阅读 · 0 评论 -
分布式MySQL数据库TDSQL架构分析
摘要:腾讯计费平台部为了解决基于内存的NoSQL解决方案HOLD平台在应对多种业务接入时的不足,结合团队在MySQL领域多年应用和优化经验,最终在MySQL存储引擎基础上,打造一套分布式SQL系统TDSQL。本文是对该系统架构分析。腾讯计费平台部托管着公司90%以上的虚拟账户,如QB、Q点、包月服务、游戏的二级账户等,为了保证能顺畅支撑公司各大业务的实时在线交易,并且在各种转载 2015-09-21 22:55:00 · 1065 阅读 · 0 评论 -
Linux内核源代码解析之——欲三次握手,先构造传输控制块!
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18999825众所周知,TCP/IP最为广泛的考题非三次握手、四次挥手莫属。当server端接收到syn包时,开始进入三次握手,tcp_sock的state变为SYN_RECV。完成了三次握手的第一次握手,server端开始发送ack+s原创 2015-12-01 23:53:58 · 678 阅读 · 0 评论 -
kmalloc设计
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18630413Linux内核在古老时代,比较死板,没有较为灵活的接口给到内核开发人员。kmalloc是其中一个,用于给内核开发人员提供内存获取接口。如果没有kmalloc,内核的内存使用会非常死板,甚至可以说仅仅是一个玩具——想象原创 2015-12-01 23:58:41 · 492 阅读 · 0 评论 -
Lighty的Chunk设计
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/20001871下边是我画的Lighty的Chunk设计简图。Lighty的Chunk封装了对纯内存以及mmap的文件管理。多的不说,直接上图。原创 2015-12-01 23:48:06 · 435 阅读 · 0 评论 -
Lighty的“自适应”树
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/13360863Lighty里采用了“自适应树”,而且是直接借用D. Sleator在1994年实现的代码。其实,在关键的数据结构上借用历史证明了健壮性的代码比自己重复造轮子要实际得多——如果自己实现,谁能保证这个“新家伙”不会出问题呢?原创 2015-12-27 01:51:25 · 673 阅读 · 0 评论 -
图解mysql块读取代码
Innodb或者Oracle的数据块大小都是固定的且块头控制信息也是固定的,所以,想要自己写代码读取块内控制信息相对比较简单,perl版代码核心流程如下图所示:其中真正干活儿的是《读取当前page的数据》、《从当前page中取得特定字节数据》两个步骤,perl版实现分别如下:《读取当前page的数据》示意图《从当前page中取得特定字节数据》示意图原创 2015-11-08 01:49:32 · 430 阅读 · 0 评论 -
Linux内核源代码解析之——小弟我与神童聊Linux内核
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/11619609我的朋友里,至少有2.5个神童。有的书上说,一个人的能力取决于他的朋友圈子的能力。所以,我是幸运的,因为我的很多朋友都比我更优秀。雅丽是公认的神童。北漂族、帅气、博学、擅长多国语言,同时,公认的Oracle大神。原创 2015-12-27 01:13:21 · 663 阅读 · 0 评论 -
抛弃编程语言的偏见——对话百度架构师
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/17337961某年某月某夜,与百度的大神有如下对话。希望对刚入门的同学有些启发。有很多同学来向我咨询如何学习Linux、c,非常欢迎交流学习。想当年我在学校学习的时候除了看片就看原创 2015-12-27 01:11:01 · 950 阅读 · 0 评论 -
Lighty的jobs设计
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18571411Lighty把连接分为三类:conns,joblist,fdwaitqueue.这三类都由connections描述。其中jobs的添加filter如下:int joblist_append(server *sr原创 2015-12-01 23:59:56 · 579 阅读 · 0 评论 -
Linux内核源代码review Case
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/18804425Srikanth Thokala 在2014年1月22日为Xilinx AXI Video Direct Memory Access Engine提交了一个patch,该patch提供了双维度、独立、异步的读写通道,大幅度提升了原创 2015-12-01 23:55:30 · 498 阅读 · 0 评论 -
数据类型是浮云
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/19053687数据原本没有类型,int、char、double都是浮云。唯一实际的是,存储空间 & 字节数(bytes)。在汇编里,没有所谓的int、char之分,定义一个变量会先申明它需要的存储空间,然后初始化赋值(也可以不初始原创 2015-12-01 23:53:27 · 514 阅读 · 0 评论 -
Linux内核zero-copy小试牛刀(加注释)
本文所涉及到的源代码为 wheelz原创,freas_1990加工整理。转载请标明出处:http://blog.csdn.net/freas_1990/article/details/19653015偶然在网上偶然翻到一篇 wheelz在多年前写的通过mmap + /dev/mem + 共享内存来实现zero-copy的文章, wheelz在网上已经很久没路面了,本文 简单加批注如下。原创 2015-12-01 23:48:49 · 503 阅读 · 0 评论 -
Redis的“表”怎么设计的?
在《C语言描述能力之——结构体》我曾提到C语言的描述能力,数据库里的“表”这个概念是如何通过C语言来设计的呢?我们来看一下Redis的实现吧。robj *createListObject(void) { list *l = listCreate(); robj *o = createObject(REDIS_LIST,l); listSetFreeMethod(原创 2015-12-01 23:12:04 · 1834 阅读 · 0 评论 -
Redis的VM实现——终究敌不过业务架构师!
http://blog.csdn.net/freas_1990/article/details/18718251 Redis的VM机制将会成为历史,不过,回顾一下历史,未尝不是一件乐事。我们来看一下redis的VM设计。/* The VM pointerstructure - identifies an object in the swap file. * * This原创 2015-12-01 23:59:18 · 5365 阅读 · 0 评论 -
Linux内核网卡收包机制历史变革
Linux内核对网卡收包处理机制大约经历了4个阶段。1、网卡在同一时刻只能接收一个包,当网卡接收到包之后,马上向中断控制器发出中断请求,中断控制器向CPU发出中断信号。2、网卡在同一时刻能接收多个包,单CPU,网卡接收到多个包的时刻,马上向中断控制器发出中断请求,中断控制器向CPU发出中断信号。3、网卡在同一时刻能接收多个包,多CPU,网卡接收到多个包的时刻,马上向中断控制原创 2015-12-01 23:24:50 · 1562 阅读 · 0 评论 -
内存管理算法--Buddy伙伴算法
Buddy算法的优缺点:1)尽管伙伴内存算法在内存碎片问题上已经做的相当出色,但是该算法中,一个很小的块往往会阻碍一个大块的合并,一个系统中,对内存块的分配,大小是随机的,一片内存中仅一个小的内存块没有释放,旁边两个大的就不能合并。2)算法中有一定的浪费现象,伙伴算法是按2的幂次方大小进行分配内存块,当然这样做是有原因的,即为了避免把大的内存块拆的太碎,更重要的是使分配和释放过转载 2015-12-01 23:09:51 · 658 阅读 · 0 评论 -
教你读Git——Linux内核版本管理工具
arch/x86/kernel/cpu/perf_event_amd_ibs.c | 53 ++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 8 deletions(-)--- a/arch/x86/kernel/cpu/perf_event_amd_ibs.c+++ b/arch/x86/kernel/c原创 2015-12-01 23:57:36 · 1164 阅读 · 0 评论 -
跟Andrey Vagin学习写内核patch
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/19424109在2013年11月19日, Andrey Vagin提交了一个patch,该patch修复了 snd_nxt做update的逻辑。这个patch其实逻辑很简单,也正是因为简单,所以适合给初学者学习。kernel的oo原创 2015-12-01 23:52:35 · 400 阅读 · 0 评论 -
陈硕-Linux C++ 服务器端这条线怎么走?一年半能做出什么?
您好,我现在大三了,请问我想往 Linux C++ 服务器方向发展该怎么走,比如现在在看 Linux 程序设计,还应该在看哪些书,可以完成一些什么项目?谢谢。有 C++、C 基础,算法数据结构还不错。著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:陈硕链接:http://www.zhihu.com/question/22608820原创 2015-11-09 22:00:16 · 3000 阅读 · 2 评论 -
陈硕-应届生应聘程序员,简历上能写书单吗?最好有哪些信息?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:陈硕链接:http://www.zhihu.com/question/24887072/answer/29334013来源:知乎校园招聘的时候,我的中文简历上写了我参与翻译的几本书。结果没用上中文简历。说点有用的,你在简历上写以下几条,保证让面试官眼前一亮:读了 APUE,实现了一个简原创 2015-11-09 21:59:05 · 1129 阅读 · 0 评论 -
大端字节(Big endian)与小端字节(Little endian)
常见的80x86 CPU是先存放小值,再存放大值。这是小端字节(Little endian)序列。而数字在互联网上传输的时候,是大端字节序列(Big endian)。所以,网络编程里有一个api是htons(),用来将主机字节顺序转化成为网络字节顺序。常见的CPU平台如下:处理器操作系统字节顺序Alpha全原创 2015-11-08 01:53:29 · 623 阅读 · 0 评论 -
网络IO之阻塞、非阻塞、同步、异步总结
1、前言 在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。网上有详细的分析:http://blog.csdn.net/historyasamirror/article/details/5778378。我结合网上博客和书总结一下,加以区别,加深理解。转载 2015-09-16 11:09:21 · 366 阅读 · 0 评论 -
2013腾讯面经(技术类-后台开发)
阅读提示:如果有赶着去撸代码,玩dota / lol,把妹纸,内急……时间捉急又想吃快餐的同志,可以在直接跳过下面所有黑体字部分(因为黑体字部分都是写给我自己和个别基友看的) 面经百度百科定义:面试经验。求职者把面试经验写下来发布在BBS上供他人参考。而我个人觉得解释为:面试经历更为恰当,毕竟自己仍是弱菜一枚,并没有高深的技艺可以被列为经验之称。只是记录一下面试过程罢了。转载 2015-09-15 23:31:10 · 675 阅读 · 0 评论 -
【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经
面试完毕,已跟网易游戏签约。遂敲一份笔经面经,记录下面试经过。类似于用日记记录自己,同时希望对师弟师妹有一定帮助。不是炫耀,只是希望攒RP,希望各位不要鄙视我。正所谓“饮水思源”。小弟来自广州华南理工大学,计算机科学与工程学院。给华工计算机打一个广告吧,呵呵。。。--------------------------------------------------------------原创 2015-11-03 18:59:04 · 1512 阅读 · 1 评论 -
2014年腾讯,百度,微软,阿里巴巴(北京站)校园招聘笔试题(涉及C,C++,JAVA,数据结构)
腾讯2014年校园招聘笔试题 2014年阿里巴巴校招笔试题北京站(涉及C++,JAVA,数据结构) 2014年微软校园原创 2015-11-03 18:57:55 · 1097 阅读 · 0 评论 -
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
1.题目 编写两个任意位数的大数相乘的程序,给出计算结果。2.题目分析 该题相继被ACM、华为、腾讯等选作笔试、面试题,若无准备要写出这种程序,还是要花一定的时间的。故,觉得有必要深入研究一下。搜索了网上的大多数该类程序和算法,发现,大数乘法主要有模拟手工计算的普通大数乘法,分治算法和FFT算法。其中普通大数乘法占据了90%以上,其优点是空间复杂度低转载 2015-09-11 23:51:45 · 532 阅读 · 0 评论