zoukankan      html  css  js  c++  java
  • 面试题:一个面试题!!!!

    CHANGES.txt包含了我公司开发人员对一个代码库的修改历史。请用C#(或者java)来编写一个词法分
    析(Parse)程序来提取以下要求的字段组成的修改纪录,并将结果写入一个或多个文件中。字段之间(field)用'
    &brvbar'分隔。具体分析的结果要求如下:
    面试题参考:[http://www.aub.org.cn/]
    a) 每个纪录应包含下列字段:
    Change ID: 给每项修改记录分配一个唯一的序号。
    Changed Date: 提取原始修改记录中的MM/DD/YYYY格式的日期。
    Changed By:提取原始修改记录中紧跟在日期之后的开发人员名字。
    Summary: 提取原始修改记录中由'*)'给出的修改摘要。
    Description: 提取原始修改记录中由'Description:'给出的修改说明。
    Purpose: 提取原始修改记录中由'Purpose:'给出的修改目的说明。
    Changed Files: 提取原始修改记录中由'Changed Files:'给出的修改文件列表。
    Added Files: 提取原始修改记录中由'Added Files:'给出的新增文件列表。
    b) 请用'*)'作为一项修改的标示(而不是日期)。因为一个开发人员在同一天可以做多项修改。在同一日期下
    的多个'*)'应被分割成多个修改纪录。
    c) 在"Description:"下可能会有多项由"-"给出的说明项。
    CHANGES.txt内容如下:
    Change History:
    11/12/2004, Simon
    *) Added this file.
    11/16/2004, Johnason
    *) Support saving TDF file
    Changed Files: SystemConfig.cpp/h
    Added files: TDF.cpp/h
    Description:
    - Add NIST_SUPPORT in cls_cls.cfg
    - Add cls_nist.cfg. A sample and explaination is put in misc
    - Add a new class CTDF, which calls some functions of lscvt.lib
    and tdf.lib.
    Comments:
    - CTDF need to be enhanced. The basic idea is to use a base class for
    initing, reading existing TDF file and saving repacked TDF file. No
    binding data (a virtual function) in base class. Three new class will
    be derived from the base class to bind three kinds of data: from
    WinCtrlSet, cls_nist.cfg, images. Then ClsMain and ClsDataEntry can
    call different class as they required.
    11/23/2004, Johnason
    *) Florida payment interface
    Changed files: SystemConfig.cpp/h
    Description:
    - It map FirstName, LastName, MidName, SufName before. Now it only map
    the Name field.
    *) Flat App Version
    Changed files: SystemConfig.cpp/h
    Description:
    - Read nFlatAppVersion in Cls_cls.cfg
    12/01/2004, Johnason
    *) Add code to delete transactions from nist_ipa, nist_ipa_pm, nist_ipa_print,
    nist_ipa_print_pm
    Changed files:
    - SystemTrans.cpp
    - SystemTransNew.cpp
    - SystemTrans.h
    Description:
    - Add one new function: CLSTransDeleteException
    - Call this new function in CLSTransDeleteRec() and CLSTransNewDeleteRec()
    - In this case, these four tables should not be put in INFO_TABLE. Before
    we put them into it, which will cause a bug: When the transaction has
    exception and has been scanned, the exception will be removed if user
    views demo and saves it.
    12/02/2004, Johnason
    *) Add config item FLAT_PHOTO in cls_scan.cfg
    Changed files:
    - SystemConfig.cpp
    - SystemDb.h
    Description:
    - Add code to read FLAT_PHOTO in cls_scan.cfg.
    12/02/2004, Eric
    *) Updated logic of checking FBI responses
    Changed files:
    - DaoQTransNew.cpp
    Description:
    - New logic to check FBI response
    12/06/2004, Eric
    *) Updated CLSTransInsertEmailRec()
    Changed files:
    - SystemTrans.cpp
    Description:
    - The variable szTblRev needs memset
    12/08/2004, Eric
    *) Added new SEND_OPTION to cls_cls.cfg
    Description:
    - Check whether all mandatory data have been captured and transaction
    is ready for sending out
    - SEND_OPTION = 11111100
    DataEntry &brvbarTP &brvbarPalm &brvbarPhoto &brvbarSign &brvbarDemoImage
    &brvbarReserved &brvbarReserved
    Changed files: SystemConfig.cpp/h, SystemTransNew.cpp/h
    12/09/2004, Eric
    *) Added new CLEAN_WHEN_LOGOFF to cls_cls.cfg
    This is to delete all completed transactions when log-off
    (for USSS - Child)
    Changed files:
    - SystemConfig.cpp/h
    12/10/2004, Johnason
    *) Add a config item PALM_CHECK_VERSION in cls_scan.cfg
    Changed files: SystemConfig.cpp/h
    Description:
    The default value is 0.
    If it is set to 2, use the new algorithm of palm sequence check.
    12/11/2004, Johnason
    *) Add severl parameters for palm sequence check in cls_scan.cfg
    Changed files: SystemConfig.cpp/h
    Description:
    Add them for new algorithm of palm sequence check
    Default values are 0
    12/13/2004, Johnason
    *) Add CHECK_IMAGE_BEFORE_SCAN in cls_scan.cfg
    Changed files: SystemConfig.cpp/h
    Description:
    Add ClsCfgScan.bCheckImageBeforeScan for CHECK_IMAGE_BEFORE_SCAN.
    The default value is false.
    *) Add a message in cls_msg.cfg. it is use to show a message to ask user
    whether ignore the existing images.
    Changed files: LSGlobal.cpp
    Description: Enlarge CLSCfgMsg size to 39, and add the new message item.
    12/13/2004, Johnason
    *) Fix a logic problem in Filter
    Changed Files: SystemTransNew.cpp, DaoQTransNew.cpp
    Purpose:
    - Filter didn't work for the transactions that came from bridge server.
    - Reason is in the Filter SQL statement, it put the wrong condition
    order for AND and OR statement.
    Description:
    - Change code in LoadNewQTrans, CLSTransNewLoadQ functions
    - Add parenthesises for condition statement and adjust the sequence.
    12/16/2004, Simon
    *) Added a new function CLSIoLogSprintf to support flexible logging
    capability which introduces the dependency on include/af_log.h and
    gdslib/gd_pub.h.
    Changed files: SystemIo.cpp/h
    12/17/2004, Eric
    *) Added a new config item to cls_scan.cfg, FLAT_PALM_OPTIONAL
    Changed files: SystemConfig.cpp/h
    *) Added a new config item to cls_scan.cfg, EXCEPTION_ALWAYS
    Always save excpetion data (For Mexico)
    Changed files: SystemConfig.cpp/h
    *) Added a new function call CLSDbDeleteRecord()
    Changed files: SystemDb.cpp/h
    01/06/2005, Simon
    *) Changed data structure CLS_CFG_CALLTAB and functions CLSCfgLoadCalltab()
    and CLSIoCallApp() to support application module in DLL mode;
    *) Added function CLSCfgGetFileName to get configuration file in order to
    reduce redundant code;
    *) Added cls_*.cfg for reference.
    Changed Files: SystemConfig.cpp/h, SystemIo.cpp/h
    Added Files: cls_*.cfg
    Description:
    - New changes keep compatible with previous installations. Only when
    the binary extension is 'dll', the system will try to load the given
    DLL at runtime and get the function 'StartDllModule' to launch the
    DLL module.
    01/07/2005, Simon
    *) Added new configuration item UID_POLICY in cls_login_ldap.cfg
    to control behavior when uid cannot obtained from ActiveDirectory.
    Purpose: This change is to accommodate changes made in coldapi to eliminiate
    the requirement of maintaining UID by end users such as USSS.
    Changed Files: SystemConfig.cpp/h, cls_login_ldap.cfg
    01/10/2005, Eric
    *) Increased CLS_TRANS_NEWQ_TXSNO_LEN to 30 in SystemTransNew.h, to enlarge trans_no buffer
    to 30 char long
    *) Update CLSCfgGetAutoTransNo() in SystemConfig.cpp, to support auto serial as 13 char long
    01/18/2005, Simon
    *) Fixed function prototypes of StartDllModule for runtime loading.
    Changes Files: SystemIo.h
    大虾们帮帮忙啊。。。没人会的吗??感觉这个txt文件没什么好的规律 关注中。。。。 面试题很葛... 该回复
    于2008-03-29 06:37:22被版主删除我大概想了下还是有一些规律的:排列的顺序,每个字段的数据格式,Tag标志
    都是固定的
    Change ID: 给每项修改记录分配一个唯一的序号。
    Changed Date: 提取原始修改记录中的MM/DD/YYYY格式的日期。
    Changed By: 提取原始修改记录中紧跟在日期之后的开发人员名字。
    Summary: 提取原始修改记录中由'*)'给出的修改摘要。 是每条记录固有的 顺序也是固定的
    Description: 提取原始修改记录中由'Description:'给出的修改说明。
    Purpose: 提取原始修改记录中由'Purpose:'给出的修改目的说明。
    Changed Files: 提取原始修改记录中由'Changed Files:'给出的修改文件列表。
    Added Files: 提取原始修改记录中由'Added Files:'给出的新增文件列表。
    不是固定的 但关键字都是确定的记录以 日期或者*)的出现为标记结束
  • 相关阅读:
    .NET写的Email可以群发邮件的实用函数
    動網中用到的幾個Function和一個JS[base64encode,base64decode,md5,sendmail,js]
    HTML在线编辑器
    IIS虚拟目录控制类
    实用正则表达式(实用篇)
    IIS站点管理类
    精巧sql语句
    圖片滾動代碼
    c# 添加图片水印,可以指定水印位置+生成缩略图
    JavaScript旋转图片
  • 原文地址:https://www.cnblogs.com/shihao/p/1495748.html
Copyright © 2011-2022 走看看