- 博客(6)
- 资源 (33)
- 收藏
- 关注
原创 程序员求职之道(《程序员面试笔试宝典》)之海量数据处理(排序问题)?
海量数据处理中一类常见的问题就是排序问题,即对海量数据中的数据进行排序,例如,一个文件中有9亿条不重复的9位整数,对这个文件中数字进行排序。针对这个问题,最容易想到的方法是将所有数据导入到内存中,然后使用常规的排序方法,例如插入排序、快速排序、归并排序等各种排序方法对数据进行排序,最后将排序好的数据存入文件。但这些方法却不能在此适用,由于数据量巨大,在32位机器中,一个整数占用4个字节,而9亿
2012-08-19 20:48:40 2127
原创 程序员求职之道(《程序员面试笔试宝典》)之智力题攻略?(称重类智力题)
(1)题目:有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?(2)题目有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1,只称量一次,如何判断哪个罐子的药被污染了?(3)题目:假设有八个球,外表一模一样,但是其中一个略微重一些,要找出这个球的唯一办法是将两个球放在天平上,最少需要称量多少次能找出这个较重的球?
2012-08-18 21:58:11 2040 5
原创 程序员求职之道(《程序员面试笔试宝典》)之程序设计基础(内存分配形式)?
一个C/C++编译的程序所占用的系统内存一般分为以下几个部分的内容:(1)由符号启始的区块(Block Started by Symbol, BSS)段:BSS段通常是指用来存放程序中未初始化的全局数据和静态数据的一块内存区域。BSS段属于静态内存分配,程序结束后静态变量资源由系统自动释放。(2)数据段(data segment):数据段通常是指用来存放程序中已初始化的全局变量的一块内
2012-08-18 21:54:39 1537
原创 程序员求职之道(《程序员面试笔试宝典》)之海量数据处理(如何从10亿查询词找出出现频率最高的10个)?
1. 问题描述在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载率最高的前10首歌等等。2. 当前解决方案针对top k类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照hash方法分解成
2012-08-10 20:03:08 2495 1
原创 程序员求职之道(《程序员面试笔试宝典》)之数据结构与算法(排序算法)?
1. 概述排序算法是计算机技术中最基本的算法,许多复杂算法都会用到排序。尽管各种排序算法都已被封装成库函数供程序员使用,但了解排序算法的思想和原理,对于编写高质量的软件,显得非常重要。本文介绍了常见的排序算法,从算法思想,复杂度和使用场景等方面做了总结。2. 几个概念(1)排序稳定:如果两个数相同,对他们进行的排序结果为他们的相对顺序不变。例如A={1,2,1,2,1}这里排序之后
2012-08-08 19:52:23 1802
原创 程序员求职之道(《程序员面试笔试宝典》)之操作系统(内核线程和用户线程的区别)
根据操作系统内核是否对线程可感知,可以把线程分为内核线程和用户线程。内核线程建立和销毁都是由操作系统负责、通过系统调用完成的,操作系统在调度时,参考各进程内的线程运行情况做出调度决定,如果一个进程中没有就绪态的线程,那么这个进程也不会被调度占用CPU。和内核线程相对应的是用户线程,用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,用户进程利用线程库提供创建、同步、调
2012-08-02 22:03:12 2099
程序员面试笔试真题与解析
2017-06-15
《Java程序员面试笔试宝典》2014
2014-09-29
程序员面试笔试宝典
2012-10-01
DEVC++4.9.9.2安装文件
2011-12-04
2012计算机行业面试笔试必看C语言面试题总结
2011-11-17
高质量C/C++编程指南
2011-11-07
华为编程规范
2011-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人