社区
community_281
帖子详情
一道面试题:文件拷贝
方工
2006-05-21 05:01:12
情景:
在面试过程中,求职者被要求写一个文件拷贝函数。
http://blog.csdn.net/onestab/archive/2006/05/21/747348.aspx
...全文
2416
16
打赏
收藏
一道面试题:文件拷贝
情景: 在面试过程中,求职者被要求写一个文件拷贝函数。 http://blog.csdn.net/onestab/archive/2006/05/21/747348.aspx
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wsktn
2006-05-23
打赏
举报
回复
system("copy srcfile objfile");//不知会不会给0分
wsktn
2006-05-23
打赏
举报
回复
system("copy srcfile objfile");
heihei2004
2006-05-22
打赏
举报
回复
呵呵,不错啊
flyingdancing2005
2006-05-22
打赏
举报
回复
好...
tidyduck
2006-05-22
打赏
举报
回复
没错,程序员就应该考虑这么多!
zjyeling
2006-05-22
打赏
举报
回复
感觉太恐怖了!居然有这么多东西!~~
alaiyeshi
2006-05-22
打赏
举报
回复
恩
考虑的很好
weasea
2006-05-22
打赏
举报
回复
........
kingofworl
2006-05-22
打赏
举报
回复
考虑的很多
tabris17
2006-05-22
打赏
举报
回复
不错
leisang
2006-05-22
打赏
举报
回复
楼主有很多是可以解决的,可以参考ntfs的文件拷贝,
复制文档不用压缩,安全的加密一般是加密自身的,也就是说拷贝过去还是加密形式,不存在安全漏洞,那么文件的创建者不变,文件的所有者为复制操作的用户,文件的权限为所在目录的权限继承,你可以自己编写字节流读写,因此无操作系统限制,假如目标文件已经存在提示是否覆盖。
iamwarrior
2006-05-22
打赏
举报
回复
原来这么多年来,我确实不懂得拷贝文件
NC
2006-05-22
打赏
举报
回复
这个。。。。。。太BT了
djfu
2006-05-21
打赏
举报
回复
问:你是怎样理解“拷贝”的?
答:嗯... 就是把文件的内容复制到新文件。
问:那么时间戳呢?
答:不拷贝。
问:目标文件名是否必须相同?
答:不必。
问:那它的名字能否一样?
答:这个...不能。
问:要不要担心名字欺骗?比如土耳其 I (注1)?
答:不要担心。
问:文件位置是否必须相同?请注意如果位置相同的话,则名称不能一样,除非拷贝到自身(接下来的问题是...)
答:当然。
问:怎么处理文件属性?
答:文件属性相同。
问:要不要修改原文件的属性?如果该文件是备份或存档的一部分,仍然保留其“存档”属性可能会出错。
答:不管它,保持原样。
问:如果原文件没有“存档”属性呢?假如新文件的“存档”属性为空,可能会造成用户的备份程序出错。
答:保持原样,不用理会用户的备份软件。
问:这个嘛,软件设计要为用户着想,我不认为这是最好的方案,但你是这样回答的。
答:...
问:那么压缩问题?这是文件的属性之一,但目标位置可能不支持压缩。
答:复制的文档不用压缩。
问:即使原文件是压缩的,而且目标位置也支持压缩?
答:是的。
问:关于加密文件,假如原文件是加密的,但目标位置不支持加密怎么办?
答:如果目标位置不支持加密,就不对复制文件加密。
问:嗯...,对不起,不是我节外生枝,但是这可能会引起严重的安全漏洞。尤其是这个文件复制函数最后可能要支持任意个参数(直接或间接)。
答:听着,我只管拷贝那个该死的文件。
问:那么文件的创建者呢?
答:不管他。
问:文件的所有者?
答:我不管。
问:文件的权限?要不要分别处理继承的权限和指定的权限?
答:不考虑权限。
问:该文件复制函数运行时所需的操作系统?
答:Windows XP。
问:家庭版、专业版、媒体中心版,其中之一还是多种?
答:专业版。
问:补丁包呢?
答:Service Pack 2。
问:这就意味着我们不支持其它的补丁包?
答:正是。
问:如何提供原文件名?
答:通过一个参数。
问:使用空字符结束的字符串、计算字符个数的字符串还是对象?
答:空字符结束的字符串。
问:是否可能传入空指针?
答:不。
问:是否可能传入空字符串?
答:不会。
问:是否可能传入恶意的字符串(例如,没有以 NULL 结束)?
答:不。
问:文件名用那种编码?
答:Unicode。
问:对不起,Unicode 不是编码格式,实际上在使用Unicode时要指定编码的名称,例如 UTF-8, UCS-2, UTF-16,等等。
答:很对,就用 UTF-16。
问:Big-endian 还是 little-endian (注2)?
答:随便!
问:接受相对路径,还是只接受完整路径?
答:只接受完整路径。
问:是否只支持特定的字符以便能对传入的参数进行过滤?
答:没有,调用者将负责过滤所有的路径和文件名。
问:目标文件的文件名是如何生成或提供的?
答:...
问:是否支持(或允许)异步文件拷贝操作?
答:不。
问:怎样报告错误?异常?错误代码?
答:随便。
问:应当在函数内部捕获异常,还是传递给调用者?
答:这个...传递出。
问:假如目标文件已经存在怎么办?
答:不会。
问:由调用者保证?
答:毫无疑问。
问:假如它真的存在,那就终止程序?显然违背了约定的条件,但谁知道发生了什么事情。
答:当然,随便您。
问:怎么处理其他数据流?
答:悉听尊便!
问:看来您觉得我有些过分,不过请别生气。我只不过是想要澄清我们的要求而已。显然如果我要写一个文件拷贝方法的话,不会使用许多现有的库和框架中的例程,而是要满足许多特殊的要求。我想要的是这些问题的正确答案。如果您愿意,我可以花一分钟时间讲解。要指出的是,在需求和目的方面,仍然有相当多的问题没有解决。
答:啊..........................
hongyanfly
2006-05-21
打赏
举报
回复
up
xjsean
2006-05-21
打赏
举报
回复
读文件再写文件
Knowledge-Sharing::fire:LuckRain7 的前端知识分享:smiling_face_with_smiling_eyes:(欢迎star,持续更新)
LuckRain7 的知识分享 关于我 我叫震雨,你也可以叫我 LuckRain7,我是一个前端学习者,目前身份是学生。 食用指南: 这里会放我的文章列表,也可以去我的 查看 资源类我会放在这里 :backhand_index_pointing_right: 日常 DEMO 会放在这里 :backhand_index_pointing_right: 希望大家在这里有所收获 (别忘记 Star 哟):star::star::star::star::star: 文章列表 玩转 GitHub 的小技巧 npm & yarn 包管理工具 package.json 项目说明
文件
MarkDown 让文档更高效 :blue_book: 工具整理 【提高效率】程序员必备软件推荐 【提高效率】前端 VS Code 插件推荐 【提高效率】前端组件库工具集合 【提高效率】必备工具集合推荐(持续更新...) NPM包分析工具推荐 :blue_book: JavaScript 防抖、节流 深
拷贝
和浅
拷贝
一道
“简单”的 This 题解析
一道
关于 JavaScript 代码执行顺序的
面试题
解析 如何在
最经典的
一道
JAVA
面试题
:谈谈你对Kafka零
拷贝
原理的理解
在实际应用中,如果我们需要把磁盘中的某个
文件
内容发送到远程服务器上,它必须要经过几个
拷贝
的过程,如图所示:1、从磁盘中读取目标
文件
内容
拷贝
到内核缓冲区2、CPU控制器再把内核缓冲区的数据赋值到用户空间的缓冲区中3、接着在应用程序中,调用write()方法,把用户空间缓冲区中的数据
拷贝
到内核下的Socket Buffer中。4、最后,把在内核模式下的SocketBuffer中的数据赋值到网卡缓冲区(NIC Buffer)5、网卡缓冲区再把数据传输到目标服务器上。...
高频
面试题
:什么是零
拷贝
?在哪些地方使用了?
这是
一道
高频的
面试题
,而且在很多技术中都使用到了,比如javaNIO、kafka、Netty、Linux等等。作为一个非常重要的知识点,而且又是高频
面试题
,有必要从零开始好好地认识一下。即使你是刚入门的同行,相信也能看的懂。 OK,开始今天的文章。 一、什么是零
拷贝
? 1、从一个案例说起 为了解释这个概念,我们先要从一个需求说起,说某天某领导给你下发了一个任务,完成一个从
文件
中读取数据,并传输到网络上的一个小程序。代码很简单: 首先我们在我们的操作系统中找到这个
文件
,然后把数据先读到缓冲区,最后把
128
一道
搜狗
面试题
:IO多路复用中select、poll、epoll之间的区别
更多
面试题
:
面试题
内容聚合 (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。 (2)poll==>时间复杂度O(n) poll本质上和select没有区别,它将用户传入的数组
拷贝
到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大...
关于删除指定日志
文件
的
一道
面试题
今天有
一道
面试题
:“在var/log下查找3天前的日志
文件
,并且
文件
名称以.log结尾的日志
文件
,删除之”。然后回来测试一下该题的实现。首先我把/var/log下的日志复制到/tmp下测试:cp -r /var/log/ /tmp;使用cp命令后一个一个
文件
提示确认复制(之前
拷贝
过一次),输入N个Y过后终于把日志
文件
复制到/tmp目录下了。使用ls -al ...
community_281
590
社区成员
254,054
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章