zoukankan      html  css  js  c++  java
  • 刚看到一个暴强的面试,转一下

    刚看到一个暴强的面试,转一下。

    A:请写一个文件拷贝函数。
    Q:你说的“拷贝”是什么意思?
    A:嗯。。。。就是把一个文件的内容拷贝到新的文件
    Q:考不考虑日期/时间?
    A:不用,那些不用被拷贝。
    Q:目标文件可以和源文件同名么?
    A:嗯。。。不行
    Q:那我不用担心假名攻击(name spoofing)?比如说土耳其语的I。(注意哈,土耳其语的I有四种写法,和英语的I相似而不同)。
    A:不用担心。
    Q:文件属性呢?
    A:新文件和老文件的属性一样
    Q:那我应该修改老文件的属性么?如果这个拷贝操作时备份或者存档操作的一部分,那可能不应该保留’Archive’这个属性。
    A:不用,保持原样就行了。
    Q:那万一源文件的’Archive’属性被关掉了呢?如果新文件的这个属性也被我关掉,可能会搞坏用户的备份软件。
    A:就让它们一样。我不在乎用户的备份软件。
    Q:这样为用户设计软件好像不好吧?
    A:。。。
    Q:文件压缩怎么办?这是个文件属性,但拷贝目的地不一定支持压缩。
    A:不用管文件压缩。
    Q:哪怕源文件被压缩了,而拷贝目的地不支持压缩?
    A:对头!
    Q:那加密呢?如果源文件被加了密,而拷贝目的地不支持加密?
    A:如果目的地不支持加密就不要加密。
    Q:哎呀不好意思,我不是想岔开话题。不过。。。这样不是很大的安全隐患么?特别当这个文件拷贝函数支持任意多个参数的时候(直接或者间接)。
    A:靠!他妈的把文件拷贝过去就行了!
    Q:创建文件的用户呢?
    A:不用管。
    Q:那文件的所有人呢?
    A:不用管。
    Q:那文件权限呢?有没有啥么方法来处理继承的权限和赋予的权限?
    A:不要管权限了。
    Q:那这个函数会在什么系统上运行?
    A:Windows XP
    Q:Home, Pro, Media Center,或者多于一个版本?
    A:Pro
    Q:哪一个Service Pack?
    A:SP2
    Q:也就是说我们不用支持其它的Service Pack?
    A:对阿
    Q:咋个提供源文件名?
    A:用参数传进去。
    Q:那则个参数十一个以null结尾的字符串,一个计数的字符串(学Pascal的都知道哈),还是一个对象?
    A:以Null计数的字符串。
    Q:Null指针可能被传进去么?
    A:不可能。
    Q:那文件名的编码呢?
    A:Unicode。
    Q:不好意思,这个这个。。。Unicode不能算编码。如果我们用Unicode数据,我们必须知道具体的编码,比如UTF-8, UCS-2, UTF-16,等等。
    A:你够狠!UTF-8。
    Q:好嘛。我只是想说把UTF-8转换成UTF-16,好让Windows API调用工作,还是有点痛苦的。
    A:射!UTF-8!
    Q:Big-endian还是small-endian?
    A:啊―――随便你丫的!
    Q:那我们接受相对路径还是绝对路径?
    A:就绝对路径。
    Q:那些路径有没有什么需要过滤的特征?
    A:没有。用户自己搞定。
    Q:怎么生成目标文件名?或者用户提供?
    A:。。。
    Q:要不要(或者允不允许)我提供异步拷贝操作?
    A:不。
    Q:我该怎么报错?Exception?Error code?
    A:随便。
    Q:我是该在被调用的函数内部处理错误呢,还是把错误传给调用者?
    A:嗯。。。传出去。
    Q:如果目标文件已经存在怎么办?
    A:不会的。
    Q:也就是调用人确保这点?
    A:对。
    Q:也就是说如果目标文件的确存在,我可以立刻终结程序运行?但这个明显违背了前置条件,而且鬼才知道会出什么问题。
    A:射。随你丫的。
    Q:那轮换数据流呢?
    A:随便你!!
    Q:老大,我真地不好意思,如果你觉得被我挑衅了。不要生气哈。我只是想在动手前得到一个清晰完整的规格。很明显如果我要写一个文件拷贝函数,而不是用各种库里现成的文件函数,这个新的函数需要满足某套特殊需求,所以我需要知道那些问题的确切答案。如果你无所谓,我可以在一分钟内整出一个函数来,但肯定有很多问题都没有解决。
    A:啊!!!!!!!!!!!!!!!!!!!!!!!!
  • 相关阅读:
    Emoji表情编解码库XXL-EMOJI
    代码生成平台Xxl-Code-Generator
    分布式单点登录框架XXL-SSO
    分布式爬虫框架XXL-CRAWLER
    Java对象和Excel转换工具XXL-EXCEL
    API管理平台XXL-API
    分布式缓存管理平台XXL-CACHE
    不知不觉已经写了多年代码,贴一下12年写的代码,表喷哈
    memcached安装、使用
    MySQL和Redis数据一致性问题
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/654490.html
Copyright © 2011-2022 走看看