上周有位工作了3年多的程序员(一直在企业做应用开发)来面试,本来打算不安排上机编程的,但是他开出了6K的薪资要求,我还是决定考核下他的编程功底。

刚好最近企业在做生产流程信息流对接这块的开发,我就提取出实际项目中我做过的模块,看他是怎么来实现的。

界面截图:

说明:

将原始PPF路径下的所有文件搬迁到目标PPF路径下,并按照以下规则对文件进行命名。

如果原始文件名符合格式"A B.C.D.E",则另存为"A.C.D.E"。其中A,B,C,D,E 为任意数字、字母或中文,且A中不允许包括空格,A与B之间存在空格。

如原文件名为"03120001-1 杭州某客户0312ZS001红豆衫[a].1A.CMYK.ppf",则搬迁后文件改名为"03120001-1.1A.CMYK.ppf"。

如果不符合格式,则不搬迁。

最后提示搬迁了多少个文件,哪些文件无法搬迁。

听了我的描述,问他是否对需求还有不理解的地方,在确定理解了需求之后,他说给他半小时时间。

我心想,不久文件遍历和移动功能,以及对另存文件名的解析嘛,需要半小时吗?于是我允许他查询百度和google,允许拷贝他人代码,结果他90分钟都没能完成,更别谈我这道题要考核的目的了。

后面的面试也只是走个形式罢了,毕竟对方来一趟也不容易。但最后的一句话深深的触动了我。我问他3-4K能接受吗?他说“我的要求还是6K,有家公司要我下周一去上班。”我内心深深的叹了一口气,真不知道那家单位怎么招人的。

欢迎大家来猜猜我想考核哪些编程功底^_^

补上我写的代码,欢迎交流:

View Code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Chenrl
{
publicpartialclass Form1 : Form
{
public Form1()
{
InitializeComponent();
}

privatevoid btnSend_Click(object sender, EventArgs e)
{
//获取工单信息
//生成CSV文件,格式如下,保存到特定路径下:
//印刷机名称,项目,工作,预定开始时间,预定完成时间,客户名称,项目/备注,纸张类型,总份数,交货张数,预备张数,颜色数,纸张长度,纸张宽度,纸张厚度

}

privatevoid btnFileMove_Click(object sender, EventArgs e)
{
StringBuilder msg =new StringBuilder();
//msg.Append("无法处理以下文件:");
string sppf = txtSPPF.Text;
string tppf = txtTPPF.Text;
string pq4 = txtPQ4.Text;
int cl =0;
int okcount =0;
try
{
//获取文件
string[] files = System.IO.Directory.GetFiles(sppf);
foreach (string file in files)
{
//以下是对移动后的目标文件名进行处理
//从文件名中提取到工单号:约定文件名中第一个空格之前的内容为工单号
//保留倒数第3个.之后的内容,列如.1A.CMYK.ppf 或者 .2A.CMYK.ppf
//如果用正则解析和处理字符串,效果更佳~~~

//先解析出文件夹和文件名
string path = file.Substring(0, file.LastIndexOf(@"\") +1);
string name = file.Replace(path, "");
string[] cfile = name.Split('.');
cl = cfile.Length;
if (cl >=4)
{
if (cfile[0].IndexOf('') >-1)
{
string tofile = tppf + cfile[0].Substring(0, cfile[0].IndexOf(''))
+"."+ cfile[cl -3] +"."+ cfile[cl -2] +"."+ cfile[cl -1];
if (MoveFile(file, tofile).Length ==0)
{
okcount++;
}
}
else
{
msg.Append("\r\n");
msg.Append(file);
}
}
else
{
msg.Append("\r\n");
msg.Append(file);
}
}
}
catch (Exception ex)
{
msg.Append("/r/n出现以下异常:");
msg.Append(ex.ToString());
}
if (msg.ToString().Length >0)
{
//MessageBox.Show(msg.ToString());
MessageBox.Show("操作完成!\r\n成功移动文件:"+ okcount +"个"+"\r\n无法处理以下文件:"+ msg.ToString());
}
else
{
MessageBox.Show("操作完成!\r\n成功移动文件:"+ okcount+"个");
}

//将移动失败进行记录
}

//移动成功返回空,失败返回原始文件路径
privatestring MoveFile(string file, string tofile)
{
string msg ="";
try
{
File.Move(file, tofile);
}
catch(Exception ex)
{
msg = file;
MessageBox.Show(ex.ToString());
}
return msg;
}

}
}

转载于:https://www.cnblogs.com/yfyy/archive/2011/03/16/1985962.html

一道简单的编程题考核你的编程功底相关推荐

  1. A. 这是一道简单的水题~

    A. 这是一道简单的水题~ pbz最近沉浸在数学中无法自拔,他发现了一种非常有趣的数,这个数的十进制表示形式中只含有8和9,这个数有着很好的寓意,代表了pbz的梦想和期望,他想知道对于任意的给定的正整 ...

  2. CTF easy_maze 一道简单的迷宫题。

    CTF easy_maze 一道简单的迷宫题. 打开IDA进行分析. 定位到main函数 查看程序 在main函数中查看子方法 这里发现如是遇字母"o"则退出,查看unk_400A ...

  3. qduoj 一道简单的数据结构题(水题)

    题目链接:https://qduoj.com/problem/147/点击打开链接 一道简单的数据结构题 发布时间: 2017年6月3日 18:46   最后更新: 2017年6月3日 18:51   ...

  4. 数据结构面试题编程题_您下次编程面试时应该了解的顶级数据结构

    数据结构面试题编程题 by Fahim ul Haq 通过Fahim ul Haq Niklaus Wirth, a Swiss computer scientist, wrote a book in ...

  5. java 初级编程题_java基础经典编程题

    java基础经典编程题 Monkey_peach代码 package com.sailor.game; /** * 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第 ...

  6. java 编程题_最新JAVA编程题全集(50题及答案)92862

    <最新JAVA编程题全集(50题及答案)92862>由会员分享,可在线阅读,更多相关<最新JAVA编程题全集(50题及答案)92862(32页珍藏版)>请在人人文库网上搜索. ...

  7. pta中java编程题_多文件编程题

    多文件编程题与函数题相似,区别是裁判编写的判题程序可能涉及多个文件,因此不是写在题干里,而是以附件的形式供学生下载,方便学生调试.学生须按照题干上给出的要求编写程序,完成指定功能.学生的提交也可能包含 ...

  8. c语言编程题总结,c语言编程题总结

    c语言编程题总结 1.求100之内自然数中最大的能被17整除的数. 2.已知a,b,c都是1位整数,求当三位整数abc.cba的和为1333时a.b.c的值. 3.计算并输出200-400之间不能被3 ...

  9. c二级语言程序编程题,二级C语言编程题 汇总整理篇.doc

    二级C语言编程题 汇总整理篇 360教育在线 宇创IT培训07年9月内部资料 内部资料,请勿公开传播 三.编程题 考试做题要求: 1.按题目要求编写部分代码,不要改动已经有的代码. 2.在运行时如果遇 ...

最新文章

  1. initramfs 文件系统
  2. python入门作业编程题-python入门(一)作业
  3. EBS默认的登录账户和密码
  4. 【debug】moduleNotFoundError:No module named 'exceptions'
  5. .Net Discovery系列之三 深入理解.Net垃圾收集机制(上)
  6. JavaWeb学习之Servlet(三)----Servlet的映射匹配问题、线程安全问题
  7. 20169302 2016-2017-2 《网络攻防实践》课程总结
  8. vc 获得桌面文件坐标_为何 Elementary OS 中使用 Pantheon 桌面
  9. easyPOI 模板导出Excel
  10. ldo和dcdc功耗_DCDC与LDO的区别详解
  11. 视频号户外直播备受用户及主播青睐
  12. JIRA Service Desk获得 ITIL 认证
  13. java 打印jpg、pdf、word
  14. jq删除,清空子元素和恢复的方法
  15. pythone IO.py 文件源代码
  16. 2的31次方与2的负31次方
  17. 学生个人网页制作html
  18. itextpdf截取pdf文件为新文件
  19. 【一周头条盘点】中国软件网(2018.9.17~2018.9.21)
  20. 苹果发布 iOS14.3 准正式版,是否升级的建议

热门文章

  1. 浅析一般网站建设的需要耗费多长时间?
  2. 网站主题明确需注意这三项原则!
  3. 卷积层和全连接层的区别_1*1的卷积核和全连接层有什么异同?
  4. 怎么把照片做成立方体在html播放,立方体照片.html
  5. cdt规约报文用程序解析_DNS协议(报文解析)
  6. FreeWheel基于Go的实践经验漫谈——GC是大坑(关键业务场景不用),web框架尚未统一,和c++性能相比难说...
  7. 用实例说明Spark stage划分原理
  8. Apache端口设置多域名和转发请求(虚拟域名)
  9. kafka系列三、Kafka三款监控工具比较
  10. 与班尼特·胡迪一起找简单规律(HZOJ-2262)