你现在位置:首页>技术论文>软件知识>正文
关于实时数据库开发人员的面试题
日期:2008-4-17 0:40:50 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

很多朋友问我:你对新员工在技能上有什么要求呀。

WWW_PLC※JS_COM-PmLC-技.术_网

看看下面两个面试题吧,如果能在1小时之内将它们上机编程调试通过,那么,你就是我要找的人了。

WW.W_PLCJS_COM-PLC-技.术_网

死区压缩的算法原理是:

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

一段按时间顺序从小到大排列的数据,只有前后数据变化的绝对值超过常量COMPRESS_RATE才被保存。
WWcW_PLCJS_COM-PLC-技.术_网

举例(假定COMPRESS_RATE为1.0):
WW.W_PLCJS_COM-PLC-技.术_网

100 100.5 110  109.9 109.4 108.9 109
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

结果:100 110 108.9
WWW_PLC※JS_COM-PmLC-技.术_网

设数据的结构为:

WWW_PLCJS@_COM%-PLC-技.术_网

typedef struct stDataInfo
WWW.PLCJS.COM——可编程控制器技术门户

{
WWW.PLCJS.COM——可编程控制器技术门户

 time_t nSecond; // 时间,以秒为单位
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

 short nMill; // 毫秒
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

 double fValue; // 值
WWW.PLCJS.COM——可编程控制器技术门户

} DataInfo;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

请编程实现该算法

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

1、压缩函数

——可——编——程——控-制-器-技——术——门——户

#define COMPRESS_RATE 1.0

WWW_P※LCJS_CO※M-PLC-技-.术_网

int Compress(DataInfo *pDataList, int nDataCount, DataInfo *pResultDataList)
——可——编——程——控-制-器-技——术——门——户

其中:

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

pDataList为数据列表,已按时间排序
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

nDataCount为数据个数
WWcW_PLCJS_COM-PLC-技.术_网

pResultDataList为压缩后的数据列表,由调用者申请了空间,最大长度为nDataCount

WWW.PLCJS.COM——可编程控制器技术门户

返回值为压缩后的数据个数
——可——编——程——控-制-器-技——术——门——户

2、压缩后的数据,需要快速查询出来(顺序查找会不会慢了点?)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

typedef struct stTimeInfo

WWW_PL※CJS_COM-PLC-技.术_网

{
WWW_PLC※JS_COM-PmLC-技.术_网

 time_t nSecond; // 时间,以秒为单位
WWW_P※LCJS_CO※M-PLC-技-.术_网

 short nMill; // 毫秒
WWW.PLCJS.COM——可编程控制器技术门户

} TimeInfo;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_P※LCJS_CO※M-PLC-技-.术_网

#define RET_SUCCESS  0 // 刚好找到对应的时间点
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

#define RET_NO_EQUAL  1 // 未找到对应的时间点,但找到两个时间之间的点,需要进行线形插值
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

#define RET_BEYOND_MIN  2 // 时间比最小时间小
P.L.C.技.术.网——可编程控制器技术门户

#define RET_BEYOND_MAX  3 // 时间比最大时间大
WW.W_PLC※JS_C,OM-PL,C-技.术_网

#define RET_NO_DATA  4 // 数据列表无数据
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

#define RET_PARAMETER_ERROR 5 // 参数错误
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

#define COMPRESS_RATE 1.0

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

int FindDataByTime(DataInfo *pDataList, int nDataCount, TimeInfo *pTime, double *pResultData)
plcjs.技.术_网

其中:
P.L.C.技.术.网——可编程控制器技术门户

pDataList为已压缩的数据列表,按时间排序
WWW_PLCJS@_COM%-PLC-技.术_网

nDataCount为数据个数
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

pTime为查询的时间
WWW.PLCJS.COM——可编程控制器技术门户

返回结果:
WWW_P※LCJS_COM-PLC-)技.术_网

如果为RET_SUCCESS,则pResultData为对应的值
P.L.C.技.术.网——可编程控制器技术门户

如果为RET_NO_EQUAL,则需要线形插值
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

如果为RET_BEYOND_MIN,则pResultData为最小时间点的值
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

如果为RET_BEYOND_MAX,则pResultData为最大时间点的值
WW.W_PLCJS_COM-PLC-技.术_网

如果为RET_NO_DATA和RET_PARAMETER_ERROR,则为pResultData不需要处理
WWcW_PLCJS_COM-PLC-技.术_网

以上面试题只对程序员有效,你心动了吗?

WWcW_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行