一次去初创小公司的面试总结与感想

Siliphen 2013-12-17 02:11:45
加精
  给大家分享一下,最近的一次面试经历。
  先说说环境情况,
  我在广西-柳州,一个小城市。无业在家大半年了,一般没事有什么面试通知都会去看看。这个不是说要找工作。抱着交流和扩展世面的心态,多去走走看看,也是有益的。

  由于简历长年都挂在58同城上,所以,偶尔会有一些面试通知。本地的某个公司在58和智联招聘上看到我的简历后,就给我打电话了。我决定去看看。但对方在电话中,补充说道:“来面试时,也带上你的简历。”听到这句话,当时就有点纳闷:我的简历在58同城上不是写得很清楚了么,简历上有很多关于自己做过的项目的下载地址,发表过的原创技术文章的地址,和自己项目视频演示的优酷、土豆网地址。那么多URL,我打印出来的话,你还要输入到浏览器中去看,你自己不麻烦么?不仅你麻烦,我也麻烦,我还要去找个打印店把简历打印出来。之前接触过的很多公司,都要求在网上传简历(QQ,或者是公司官网的简历上传入口)。虽然想不通对方为什么要我的简历的打印版本,为了表示对对方的尊重,我照办了。
  
  那个公司地址还是蛮难找的。由于是和一个朋友一起去,在2个人的合力作用下,还是给我们找到了!像我这种比较宅的程序员,出去找什么地址的,最不擅长了。

  见了BOSS后,他让我坐下。我原先选择了一个更加靠近他的位置,他示意让我坐到他对面。呵呵,我比较放松的,递交纸质的简历后,一屁股坐下翘起二郎腿等他发起“第一轮进攻”。BOSS煞有介事地问我了一些问题,并且一面问一面在纸上用笔来记录。这。。。 。。。让我有点诧异,之前从来没见过摆这架势的。那些问题是:年纪多大,婚姻状况 等。其实,这些信息,不管是我网上的简历还是打印出来的纸质简历都有的,不知道为何对方还要用手抄一遍。这些问题都如实回答,但有一个问题我始料不及,“你的座右铭是什么?”之前从来没人问过我这问题,一时语塞。
  
  聊了一会后,来了一个人,坐到了BOSS旁边,我坐他们对面,有种1 VS 2的感觉。BOSS介绍到,他是技术主管。主管坐下后,一面听我和BOSS的谈话一面翻看我的纸质简历,时不时插入几句对简历的看法的话。
  
  主管坐了很久“冷板凳”后,他决定夺取场面的控制权。在我和BOSS聊得Happy时,他发难了:“来!现在,我来问你一些问题!”我被一下子打断,有点小吃惊,居然有问题来问我,是怀疑我的简历真实度还是要闹哪样啊?同时心想:”来吧,寡人接受你的挑战,你先手,出招吧,少年!“
  
  他的问题,着实让我汗了一把。我觉得奇怪的是,他问我问题时,是用一种我不太听得懂的方言来问。我刚进门时,是用普通话。后来发现BOSS是本地人,我们就用了本地的柳州话来交谈,等主管问问题时,又用主管他自己的方言来问。我勒个去!为了表现哥的专业和职业态度,我决定用普通话来回答。尽管,他问问题一直用与气氛不太和谐的”方言“。当我“语言转换”时,观察到了BOSS的面部表情,他眼睛有点稍微放大,估计是被我的职业态度给震撼了。
  
  问题1:说说c#的反射。我回答:“虽然我有项目是用c#写的,但从来没用过反射。我的主语言是C++,通常我们需要编写具备高可移植的代码,如果某个特性是某个语言特有的,为了以后移植考虑会避免使用。我们一般遇到的难题,都是算法问题,反射估计只是一个概念。由于之前的项目这个技术不是必须的,所以没去关注。”
  
  问题2:说说你对线程的理解。其实,这个问题,我都没太听得清楚他到底是在问什么。我表示我不太听得清楚,要求他再重复说一遍。这个倔强的主管大哥坚持用方言。我不太明白,他到底是要求我回答关于线程的使用经验,还是要我解释什么是线程。看到他坚持用方言后,我也不太好意思要求他重复第三遍。如果,他的意思是问我后者,我只有一个想法:“大哥,您确定你看了我的简历么?那么多项目经验,在CSDN社区发过3篇原创技术精华文章,怎么问我这个问题。”因为我不太确定他到底问什么,所以,我决定对线程进行广义的回答:“线程我主要是使用在分治算法中,像分治算法这种天生气质就符合用线程来进行加速优化。同时也可以使用在任务可以分解成更小的子任务的情况。比如:分块下载上传(也就是多线程下载)。”说完,我观察他反应,他没反应。然后,我继续说:“线程使用有线程同步的问题,减少编写错误的线程代码关键是,识别哪些变量需要同步,同步就用互斥量互斥一下就好了,基本上,搞清楚需要同步的地方,在一般情况下,就没什么问题了。”后来,他好像要我解释线程是什么的概念,我还真的一下子说不出线程是什么,因为线程实在是太常用了。就像别人问我为什么会骑单车一样。学骑单车是很久远的事了,骑单车已经成为了本能,不认真思考还真的说不出是怎样保持平衡的。1+1为什么等于2?不知道。只知道1+1就是等于2!要解释的话,可能要请陈景润来。于是,我随口回答:“线程就是线程啊,就是这样呗。”

  问题3:说说委托。我同样没料到他会问我这个问题——实在是太初级了。我怀疑对方是考我的表达能力而不是专业能力了。我回答:“我的主族是:C++!C#的委托类似于C++的函数指针,但更像是C++ Boost库中的模板函数对象。”因为,主管只会c#,所以,我觉得他可能没听懂。继续用通俗的说法补充到:“一个函数赋值给一个委托变量后,调用这个委托等价于调用那个函数。”我表达力确实有限,要解释委托只能说到这份上了。- -
  
  问题4:说说事件。日了,写过GUI程序的有可能不知道事件么。MFC中的消息,QT中的信号/槽,Cocos2D-X中的CCNotificationCenter 等等。我想都没想就说:“事件通常用来实现观察者模式。”然后说了一些观察者模式的理解。后来,我发现主管没反应,可能是我回答走题了,于是乎回到描述事件本身上。其实,事件一句话就可以说清楚,那就是:“事件是一个委托链而已”。我回答:“可以用ArrayList 或者是保存委托变量的泛型List容器来模拟事件,事件是委托的集合,它的本质就是这样。调用一次事件,就相当于一起调用了那些所有加入到容器里面的委托。”
  
  问题5:关于大数据处理。这个,我没做过。我之前都是做精巧的小玩意或者是某个系统的一部分。但我还是尝试做了一下解答,说说自己的思路:“千万级条数记录的系统,也许应该雇佣一个或几个专门的程序员来设计。什么分表啊,把一个大表拆分成多个相对较小的表用多机分布式来查。”当然,我说这些,只能是个人牛逼了。我不是这个领域的人,只能从理论上泛泛而谈。
  
  问题5,6... ...等等 就不说了。多数都是些很基础的问题。我原先预想,如果有问题要问我的话,可能是关于3D算法 或 验证码识别中的各种设计问题(定义特征,消除噪点,分类器等)。
  
  技术问题问完后,和主管又聊了下关于人与项目的关系的问题。他表明,他希望找来的人,上来就能做出一个成熟的产品,在2,3个月内。他的意思大概是这样。我和他的观点不同,我表明,这一般是不可能的,除非是同行业跳槽过来,把在原公司已经开发成熟的产品和团队直接带过来的人。现在,一般是用敏捷开发方法来做,就是认清现实情况,不断探索,重构。在开启一个新项目时,由于对那个项目的业务逻辑本身认知不够,第一版程序有不足是很普遍的。然后随着开发人员对项目本身的熟悉和认知的提高,可以不断升级和在内部代码重构来到达产品成熟的目的。这位主管呢,听到我的说法后,说:“从公司的角度来看,一次性做好可以节约成本。”我去,这位哥们显然不把现实放眼里。
  
  最后,和BOSS聊了一些,给他玩了下我做的一个手机游戏的Demo,觉得差不多了。就走了。这个公司并不是做游戏的,而主要是做一些网络和数据分析的。来这场面试,我是抱着大家交流、聊天和见世面的心态来的,毕竟在家久了也很烦闷。
  面试的结果是他们对我还算满意,但我对他们不算很满意,主要是钱的多少 和 兴趣上面)
  
  作为一个合格的程序员,总结力是必不可少的!总结这次面试经历,双方都有问题,先说说他们的。

  1.对面试者不了解,总是希望见面后通过交谈来了解。
  见面的好处是能够直观地感受对方,但见面交谈的时间是有限的,能了解到的也是表面。我的简历有很多URL,通过这些URL看看我的视频,下载看看我的作品,看看我的文章,再来约我面试比较好,至少能够全面了解一下我。这场面试就让我感觉,网上简历什么的,他们都没有看,直接约见面来谈。简历见面时再看。见面的那短短5分钟看简历,能了解我是一个什么情况么?问的一些不匹配的面试题也是浪费时间。

  2.BOSS和主管2个人坐一边上,同时和我谈话。
  这2人还真是心有灵犀一点通,当BOSS和我说话时,主管也同时和我说话。2个人的声音同时重叠在一起向我耳朵传来。我是单线程系统,无法同时处理2个同时到达的信息。所以,一些情况下,他俩要么不说,要么2个人一起说,而我根本不知道他们在说啥。所以,显得有点木讷。现在想想,BOSS的情商还是很高的,在主管和我说话时,他一直保持沉默。而BOSS和我说话时,主管随时会插入进来。哎,主管你要把“线程同步”运用在现实中啊!——当BOSS和我说话时,空间是互斥的,你得等他访问完我这个人形变量后,你再进入!
  
  3.使用方言。
  我后来问了BOSS。主管是哪里人?答:重庆。魔兽3 WCG世界冠军Ted也是重庆人,怎么人家能把普通话说得那么好?不会说普通话还出来混个毛啊。我听他说的好像也不是重庆话,估计是重庆人学说我们本地的桂柳话。
  其实呢,作为职业人来说,说普通话是一种态度,从某种意义上来说也体现了礼貌。以前我在的某个公司,有100多人吧。虽然大部分都是本地人,但同事之间都还是说普通话,主要是为了照顾一些外地来的同事吧。BOSS最好不要带头说地方话,这样显得很小气,很地域化。
  
  下面说说我的不足。
  1.某些预料不到的问题会有点慌乱
  比如,BOSS问我座右铭的时候。我迟疑了一会。然后,支支吾吾地答:”这个我一下子想不起来,但我看过很多Bill Gates , Steve Jobs 的传记,我比较喜欢 Bill Gates , Steve Jobs 这类人说过的话。“其实,这个回答说了等于没说,这些名人到底说过了哪些话,也没能说出来。
  回家后想了下,是应该要有个座右铭来突出我的个性!下次,再有人问我这个问题,我会用英文说:”If u dont try,u’ll never succeed!”(这句话是张亚勤说过的)
  
  2.有某些太过于放松的姿态
  比如,面试时一屁股坐下来,身体就后倾,翘二郎腿。我也不知道这样合适不合适。我发现一个心理暗示,当你坐得很直时,你可能会不自觉地变得紧张或者很正式。如果,你姿态放松,那么,你的言谈也会跟着放松。
  
  3.口头表达力不够好
  有些很简单的东西,用口头来表达确实有点糟糕。我普通话也不是很好。我发现我有个特点,就是用书写的方式来表达会比我的口头表达精确得多。加上我说话又有点急比较快,这个可能是还有点紧张的原因,或者是缺少和别人沟通造成的。
  比如:被问到线程是什么。我当时回答:“线程就是线程,就这样呗。”其实,当时我也是一下子蒙了,要解释好这些基础的东西也不容易。我这个回答,很容易给别人一种菜鸟或者不负责任的感觉,很烂。用我自己的话来解释线程的话,是这样:”线程是一个操作系统的概念,用于多道程序中,在多核CPU的机器上,可以真正实现同时执行的效果,不同于串行,线程是并行的。比如:我先吃完饭,在去做作业,这个是串行执行。如果我一面吃饭一面做作业的话,就是并行执行。并行效率高于串行。通常线程用在耗时较久的操作上,比如:一些GUI界面程序,要访问数据库或者网络什么的,为了不卡住界面造成无响应的用户体验差的情况,可以开个线程来做载入数据什么的事。”
  以上关于线程我自己的理解,可能不精确。但至少比“线程就是线程”这样的说法好。临场应变的时候,脱口而出的表达肯定不会如安静仔细思考后的好。所以,如果以后遇到这种情况,我打算这样做:拿出笔和纸,在纸上写出我的答案,然后,我本人再念出来。
  
  一些程序员不善于表达。其实主要是练得少的原因。与别人的谈资话头少,和经历见识知识面有关。其实我就是这样一个人,整天猫在家编程,气质什么的差得很,一看就是一个屌丝样。有时看一些视频访谈时,我会佩服主持人的伶牙俐齿,幽默风趣。
  所以,哥要改变现状!以表达得形如流水为目标。尽力给对方一个良好印象!
  最近也发现全身心地投入到写代码中,并不是很快乐。打算培养一些其他的实用爱好,比如:烹饪 什么的。
  
  明年打算去深圳发展发展。
  既然,面试的过程我都总结了,也附上我的简历吧。配合本文来看!
  地址是:
  http://jianli.58.com/showresumeinfo/?rid=68732005923073&qq-pf-to=pcqq.c2c
  
  之前没做过游戏开发。现在想转行到游戏开发上,有没有大牛给一些建议?
...全文
35605 208 打赏 收藏 转发到动态 举报
写回复
用AI写文章
208 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello73world 2014-09-16
  • 打赏
  • 举报
回复
安卓和苹果的app擅长做吗
freetime 2014-07-09
  • 打赏
  • 举报
回复
 1.对面试者不了解,总是希望见面后通过交谈来了解。 ------------------------------- a. 绝大多数面试我们都没时间预先看简历,也就是快面试前几分钟瞄一眼。一次面试一个人半小时到一小时,很宝贵的,很多工作等着呢,不会因为你有面试工作会少安排给你(做人力资源的除外。) 楼主可以尝试一下面试官,一周3,4个人,你没有/你也不会 花多少时间详细看简历 b. 很多时候需要验证一下 简历 的 “实在” 程度,会问一些简历上重复的东西,在提问中逐步建立对面试者的映像,或者先例行公事,让做个简单自我介绍,让面试者放松,都是高技术的,不要为难彼此。很多做技术的人容易紧张,上来问个碰巧不会的,说都不会话了就麻烦了。
Siliphen 2014-03-12
  • 打赏
  • 举报
回复
非常感谢各位花时间看了我的这篇吐槽文章, 实际的面试过程,和本文描述的不太一样。 可能是和我写文章当时的心态有关。 有很多是我个人内心的心理活动,并不会表现出来。 我并没有表现出任何不礼貌、不尊重。相反,对方对我的表现还是比较满意的。 我个人还是比较内向,不善交际,并且彬彬有礼的。 心理学上,有一种说法是,越是极力表现,越不自信。 对号入座,我想我是有一些自卑情结。大家理解理解。 评论我都看了。我想:给的人感觉取决于你的表达。 面试实际情况并不是你们想象的那样,但我的表达是这样的话, 给人的感觉就是所谓的“轻佻,狂妄”了。 大家给出的建议非常好。对我帮助很大。我也看到了自己的各种不足和问题。 我会修改的。谢谢大家!
simonllf 2014-03-07
  • 打赏
  • 举报
回复
个人简历还需要努力完善哦...你这个简历想在深圳找到好工作不容易....起码把一些工作合并..保持3到4个工作就可以了
Cesar-Wu 2014-03-07
  • 打赏
  • 举报
回复
笑而不语。。。。
godwanglong 2014-03-07
  • 打赏
  • 举报
回复
引用 207 楼 onlymellb 的回复:
听到1+1为什么等于2,让陈景润来解释,我就笑了,哥,你知道陈景润证明的1+1定理和1+1为什么等于2没有半毛钱关系么?人家证明的是数论里面的哥德巴赫猜想好么。哎。。。如此嚣张。
“1+1为什么等于2” 是的,我看到这也受不了了。而且楼主一副认为自己很吊的心态非常不好
onlymellb 2014-03-04
  • 打赏
  • 举报
回复
听到1+1为什么等于2,让陈景润来解释,我就笑了,哥,你知道陈景润证明的1+1定理和1+1为什么等于2没有半毛钱关系么?人家证明的是数论里面的哥德巴赫猜想好么。哎。。。如此嚣张。
花儿迎风笑 2014-01-16
  • 打赏
  • 举报
回复
感觉认识你哦。。
李荣强 2014-01-15
  • 打赏
  • 举报
回复
我能说.我看到你那些工作经历我就不要你么... 1个月,7个月,8个月....无语了...
ltgg2010 2014-01-10
  • 打赏
  • 举报
回复
DrSmart 2014-01-09
  • 打赏
  • 举报
回复
技术一般,心态不正
wangsufu77 2014-01-08
  • 打赏
  • 举报
回复
hysen31 2014-01-07
  • 打赏
  • 举报
回复
dig grave
cbc57 2014-01-07
  • 打赏
  • 举报
回复
都不容易,继续努力吧。
  • 打赏
  • 举报
回复
有些小公司,地方不大,对人的要求还贼苛刻,根本流程都不走,相当不规范。楼主能力很强啊,应该去大公司发展,不要浪费了自己的时间,在这些小公司之间周旋。
谁学逆向工程 2014-01-07
  • 打赏
  • 举报
回复
看了一下回帖,大部分都是打击楼主,不过我喜欢楼主。楼主如果愿意创业可以给我发私信,咱们可以找一些志同道合的人。
yangxuefeng09 2014-01-06
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
dic_008 2014-01-05
  • 打赏
  • 举报
回复
闲了这么久真该放个游戏公司加加班
偷钻石的小子 2014-01-05
  • 打赏
  • 举报
回复
又学到了不少经验。。。
加载更多回复(188)
     区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 [4]  ,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。两个月后理论步入实践,2009年1月3日第一个序号为0的创世区块诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生 [5]  。 近年来,世界对比特币的态度起起落落,但作为比特币底层技术之一的区块链技术日益受到重视。在比特币形成过程中,区块是一个一个的存储单元,记录了一定时间内各个区块节点全部的交流信息。各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链。 什么是区块链?从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动 [7]  。 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块 [8]  。 比特币白皮书英文原版 [4]  其实并未出现 blockchain 一词,而是使用的 chain of blocks。most早的比特币白皮书中文翻译版 [9]  中,将 chain of blocks 翻译成了区块链。这是“区块链”这一中文词most早的出现时间。 国家互联网信息办公室2019年1月10日发布《区块链信息服务管理规定》,自2019年2月15日起施行 [1]  。 作为核心技术自主创新的重要突破口,区块链的安全风险问题被视为当前制约行业健康发展的一大短板,频频发生的安全事件为业界敲响警钟。拥抱区块链,需要加快探索建立适应区块链技术机制的安全保障体系。 2008年由中本聪第一次提出了区块链的概念 [4]  ,在随后的几年中,区块链成为了电子货币比特币的核心组成部分:作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。为比特币而发明的区块链使它成为第一个解决重复消费问题的数字货币。比特币的设计已经成为其他应用程序的灵感来源。 2014年,区块链2.0”成为一个关于去中心化区块链数据库的术语。对这个第二代可编程区块链,经济学家们认为它是一种编程语言,可以允许用户写出更精密和智能的协议 [11]  。因此,当利润达到一定程度的时候,就能够从完成的货运订单或者共享证书的分红中获得收益。区块链2.0技术跳过了交易和“价值交换中担任金钱和信息仲裁的中介机构”。它们被用来使人们远离全球化经济,使隐私得到保护,使人们“将掌握的信息兑换成货币”,并且有能力保证知识产权的所有者得到收益。第二代区块链技术使存储个人的“永久数字ID和形象”成为可能,并且对“潜在的社会财富分配”不平等提供解决方案 [12]  。 2016年1月20日,中国人民银行数字货币研讨会宣布对数字货币研究取得阶段性成果。会议肯定了数字货币在降低传统货币发行等方面的价值,并表示央行在探索发行数字货币。中国人民银行数字货币研讨会的表达大大增强了数字货币行业信心。这是继2013年12月5日央行五部委发布关于防范比特币风险的通知之后,第一次对数字货币表示明确的态度。 [13]  2016年12月20日,数字货币联盟——中国FinTech数字货币联盟及FinTech研究院正式筹建 [14]  。 如今,比特币仍是数字货币的绝对主流,数字货币呈现了百花齐放的状态,常见的有bitcoin、litecoin、dogecoin、dashcoin,除了货币的应用之外,还有各种衍生应用,如以太坊Ethereum、Asch等底层应用开发平台以及NXT,SIA,比特股,MaidSafe,Ripple等行业应用。 公有区块链 公有区块链(Public Block Chains)是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是most早的区块链,也是应用most广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链 [16]  。 联合(行业)区块链 行业区块链(Consortium Block Chains):由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询 [16]  。 私有区块链 私有区块链(Private Block Chains):仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。传统金融都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中 [16]  。 去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链most突出most本质的特征 [17]  。 开放性。区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明 [17]  。 独立性。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预 [17]  。 安全性。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更 [17]  。 匿名性。除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行 架构模型 区块链基础架构模型 一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成 [15]  。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术most具代表性的创新点 [18]  。 核心技术 分布式账本 分布式账本指的是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证 [19]  。 跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性 [19]  。 非对称加密 存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私 [20]  。 共识机制 共识机制就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡 [20]  。 区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并most后有可能成为most终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能 [20]  。 智能合约 智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督 [20]  。 应用 金融领域 区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付 [21]  。 比如Visa推出基于区块链技术的 Visa B2B Connect,它能为机构提供一种费用更低、更快速和安全的跨境支付方式来处理全球范围的企业对企业的交易。要知道传统的跨境支付需要等3-5天,并为此支付1-3%的交易费用。Visa 还联合 Coinbase 推出了首张比特币借记卡,花旗银行则在区块链上测试运行加密货币“花旗币” [21]  。 物联网和物流领域 区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。该领域被认为是区块链一个很有前景的应用方向 [22]  。 区块链通过结点连接的散状网络分层结构,能够在整个网络中实现信息的全面传递,并能够检验信息的准确程度。这种特性一 定程度上提高了物联网交易的便利性和智能化。区块链+大数据的解决方案就利用了大数据的自动筛选过滤模式,在区块链中建立信用资源,可双重提高交易的安全性,并提高物联网交易便利程度。为智能物流模式应用节约时间成本。区块链结点具有十分自由的进出能力,可独立的参与或离开区块链体系,不对整个区块链体系有任何干扰。区块链 +大数据解决方案就利用了大数据的整合能力,促使物联网基础用户拓展更具有方向性,便于在智能物流的分散用户之间实现用户拓展 [22]  。 公共服务领域 区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可以用区块链来改造。区块链提供的去中心化的完全分布式DNS服务通过网络中各个节点之间的点对点数据传输服务就能实现域名的查询和解析,可用于确保某个重要的基础设施的操作系统和固件没有被篡改,可以监控软件的状态和完整性,发现不良的篡改,并确保使用了物联网技术的系统所传输的数据没用经过篡改 [23]  。 数字版权领域 通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。例如,美国纽约一家创业公司Mine Labs开发了一个基于区块链的元数据协议,这个名为Mediachain的系统利用IPFS文件系统,实现数字作品版权保护,主要是面向数字图片的版权保护应用 [24]  。 保险领域 在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。一个典型的应用案例就是LenderBot, 是 2016 年由区块链企业 Stratumn、德勤与支付服务商 Lemonway 合作推出,它允许人们通过 Facebook Messenger 的聊天功能,注册定制化的微保险产品, 为个人之间交换的高价值物品进行投保,而区块链在贷款合同中代替了第三方角色 [25]  。 公益领域 区块链上存储的数据,高可靠且不可篡改,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠项目、募集明细、资金流向、受助人反馈等,均可以存放于区块链上,并且有条件地进行透明公开公示,方便社会监督 [26]  。 面临的挑战 从实践进展来看,区块链技术在商业银行的应用大部分仍在构想和测试之中,距离在生活、生产中的运用还有很长的路,而要获得监管部门和市场的认可也面临不少困难,主要有: (一)受到现行观念、制度、法律制约。区块链去中心化、自我管理、集体维护的特性颠覆了人们生产生活方式,淡化了国家、监管概念,冲击了现行法律安排。对于这些,整个世界完全缺少理论准备和制度探讨。即使是区块链应用most成熟的比特币,不同国家持有态度也不相同,不可避免阻碍了区块链技术的应用与发展。解决这类问题,显然还有很长的路要走 [27]  。 (二)在技术层面,区块链尚需突破性进展。区块链应用尚在实验室初创开发阶段,没有直观可用的成熟产品。比之于互联网技术,人们可以用浏览器、APP等具体应用程序,实现信息的浏览、传递、交换和应用,但区块链明显缺乏这类突破性的应用程序,面临高技术门槛障碍。再比如,区块容量问题,由于区块链需要承载复制之前产生的全部信息,下一个区块信息量要大于之前区块信息量,这样传递下去,区块写入信息会无线增大,带来的信息存储、验证、容量问题有待解决 [27]  。 (三)竞争性技术挑战。虽然有很多人看好区块链技术,但也要看到推动人类发展的技术有很多种,哪种技术更方便更高效,人们就会应用该技术。比如,如果在通信领域应用区块链技术,通过发信息的方式是每次发给全网的所有人,但是只有那个有私钥的人才能解密打开信件,这样信息传递的安全性会大大增加。同样,量子技术也可以做到,量子通信——利用量子纠缠效应进行信息传递——同样具有高效安全的特点,近年来更是取得了不小的进展,这对于区块链技术来说,就具有很强的竞争优势。 

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧