开源项目管理软件禅道创始人王春生专访 -乐鱼入口

2013-09-13  编辑 wangguo 评论(16条) 有71989人浏览
禅道是一款优秀的国产开源项目管理软件,它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。

禅道项目在 ”中获得较高票数,并被专家评审团评为“2013年度中国优秀开源项目”。

  • 禅道乐鱼app官网:
  • github地址:
本期我们采访了禅道项目创始人王春生,请他来详细介绍禅道项目的由来、发展等方面的情况。

先做个自我介绍吧!

大家好,我叫王春生,2001年毕业于北京师范大学。我的主修专业是汉语言文学,听了一学期课之后感觉特别无聊,正好学校开设计算机课程,就迷上了计算机,然后就自学,玩各种软件。那时候非常有幸认识了几位非常有黑客精神的老师,在他们的指引下接触了linux、开源,并开始玩各种各样的开源软件。我毕业后在很多家公司工作过,所从事的基本上都是互联网行业。做过老本行的编辑,兼职做过销售,后来转向开发,并开始带项目。我于2006年加入阿里巴巴,并先后在雅虎中国、阿里妈妈和淘宝工作过,主要负责后端引擎自动化测试工作。

我个人的成长受开源思想和软件影响颇深,所以也先后做了几款开源软件。2004年到2007年,我作为主要开发者开发维护了 ;2006年作为项目leader主持开发了ecshop1.0版本;2009年初启动禅道项目;2010年正式开始创业,全职从事禅道开源软件的开发。

禅道是一个什么样的项目?提供了哪些功能?

禅道()是一款项目管理软件,它可以有效地把研发项目过程中涉及的方方面面元素、流程有效地跟踪管理起来。软件研发项目有自己的特殊性,有产品、研发和测试三种角色的互动,涉及的基本元素有需求、任务和缺陷。禅道软件可以把这三种角色、三种基本元素之间的过程跟踪和流转有效地跟踪管理起来。



禅道从功能上来讲,可以分为三个大部分:产品、项目和测试。其中产品层面是给产品经理使用的,涉及需求的管理、计划的制定,版本的发布和路线图等功能。项目层面是给研发团队使用的,涉及项目的计划、任务、版本等功能。测试是给测试团队使用的,主要涉及测试用例、测试计划和和缺陷跟踪管理。

和其他的软件相比,禅道是一个过程的协同跟踪管理软件,或者简单说,其他很多软件是给领导做计划用的,禅道是给干活的研发团队用的。

当初为什么会想到做一个开源的项目管理软件?为什么取名为“禅道”?

我在阿里巴巴工作的三年里面,因为职位的特殊性,需要同时参与多个项目。三年下来,感觉做得很累,压力很大,很多项目最终也不了了之。然后我就思考,找原因。原因有很多,有高层的战略问题,有研发团队的问题,等等。然后我就想自己可以提供什么样的乐鱼app官网的解决方案,想来想去,我觉得自己可以在工具的支撑方面提供帮助。

当时,我们的项目管理最开始时是用sharepoint excel(一个共享文件,大家来编辑),后来用sharepoint bugfree xplanner。产品经理需求整理到sharepoint中,然后项目计划用xplanner,测试跟踪用bugfree。不胜其烦,信息需要在各个系统中手工同步更新关联,非常糟糕。当时我曾经提出到过程改进部门工作,来做内部的支撑工具。但由于种种原因,未能如愿。后来就带着这个想法,开始了禅道这个开源的项目管理软件的开发。

禅道这个名字是我在读《编程之道》和《编程之禅》这两本书时受到的启发,然后就老实不客气地把中国文化中最难解释的两个字当成了我们软件的名字。从深层次讲,也是有我们的一些诉求,其实项目管理也很简单,只要我们抓住本质的东西就可以了。我们往往太多关注表面的东西了,忽略了真正的管理之道、管理之禅!

禅道项目有哪些创新点?

禅道的主要创新点在于集成的项目管理,在一个软件里面把研发项目的完整过程做到有效跟踪和覆盖。开源的项目管理软件有很多,比如dotproject、redmine、trac,还有其他很多的缺陷跟踪软件,比如mantis、testlink、bugfree等等。这些软件功能都太单一,更多的是基于事务管理的:一个issue打上feature、task或者bug的标签,缺少严谨的管理思想和过程的跟踪。



禅道的扩展机制也是一个很重要的特点,我们自己写了一套框架,然后在这套框架基础上实现了完整彻底的扩展机制。大家知道有很多的开源软件都有扩展机制,但这些往往都是基于事件或者钩子机制,只能在原来的基础上做局部的改动。禅道软件的扩展机制借助于php语言动态解释执行的特点,通过面向对象的继承和覆盖,实现了完整彻底的扩展机制。这样来说会更容易理解,通过扩展机制,可以把禅道改成与它本身完全不一样的东西。

讲讲禅道从立项到发布首个版本之间的故事吧。有什么让你印象深刻的事情?

禅道项目正式启动是2009年初,春节过后。当时花了很久的时间在做整体功能、技术架构和商务模式方面的设计,当时整理了一个脑图文件(现在基本上还在按照这个脑图文件在走)。印象比较深刻的是我的一个朋友说要做禅道软件的第一个用户,然后我们就用最短的时间发布了0.01 alpha版本。但是那个朋友也从来没有用过,哈哈。得到的启示就是,国人太忙,朋友的承诺不要太当真,靠人不如靠己。

介绍一下禅道项目的架构。它的设计理念是什么?

禅道项目是公司内部的管理软件,对性能、并发要求并不是很高。所以我们在做技术架构的时候,更多考虑的是代码的可维护性以及用户扩展的方便性。因此我们在发布禅道软件之前,先花了半年的时间做了我们自己的zentaophp框架。这个框架也是典型的mvc结构,它主要的特点就是简单、合理。大家有兴趣可以关注下:

就像前面所讲,我们开发这个框架,一方面是为了控制自己项目的进度(不可能依赖于第三方的框架,受制于人),另外一方面就是扩展机制。禅道的扩展机制都是靠这个框架来实现的,禅道软件的商务模式也是基于这套扩展机制的。

禅道使用了哪些技术来实现?选择这些技术的理由是什么?

禅道软件使用的开发语言是php,数据库是mysql,webserver没有特定要求,apache、nginx、iis都可以使用。

选择php,是因为一直在用php,它简单、开发效率高、跨平台、解释执行、功能丰富、表现力强。选择apache和mysql,也主要是因为它们是跨平台的,安装维护都非常的简单(apache和mysql运行环境可以精简为只需要几个核心文件)

前端的我们采用了jquery作为js框架,还有很多第三方的前端扩展,比如自动提示、树状列表之类的。

开发项目管理系统的难点是什么?开发过程中,你们遇到了哪些困难?是如何解决的?

开发项目管理系统的难点在于跨界,你需要知道项目管理的各个流程,懂得项目管理的方法和理论,同时还需要你把它提炼成通用的需求,然后用技术合理的实现出来。

这中间涉及到太多的取舍和平衡。比如权限的控制,太松和太严都不好;比如各种涉及流程控制的字段,多了,使用麻烦,少了,跟踪和管理就弱了。所以更多的是在这些方面纠结,找到比较合适的乐鱼app官网的解决方案。

开发过程中难点不多,技术层面的问题都是可以解决的,解决不了还可以绕。

禅道项目已经诞生4年了,讲讲这期间的发展情况吧。

2009年是起步期,这段时间我是业余时间在做,主要完善框架,完成了核心的功能。

2010年正式创业,成立公司,专职来做这件事情。版本发布到1.x,核心功能已经基本完备,有了自己的小团队,用户群初步形成。

2011年是比较关键的一年,这一年里面我们得到了朋友的帮助,加速了发展,核心团队也初步形成,产品功能进一步完善。

2012年我们正式推出专业版本,开始尝试商业路线,并取得了预想中的结果,2012年下半年开始有盈利。

2013年产品已经发布到了5.0版本,团队也进一步壮大,收入一直比较稳定。

禅道开发团队目前有多少人?你们是如何分工和协作的?

我们团队现在有12个人。我主要负责产品方面的工作,还有3位同事负责研发,1位同事负责前端交互(最近刚刚加盟),1位做乐鱼app官网的技术支持,1位做商务销售,1位做运营策划,1位做财务,还有1位帮我们做设计工作。

还有2位同事,在做我们的新产品——蝉知企业门户系统(),这也是个开源软件,主要帮助企业快速搭建企业营销门户。

据你所知,禅道目前有多少用户?

我们得不到确切的用户数字,初步估计应该有几万家公司或者团队在使用禅道做项目跟踪。这其中有很小的创业团队,也有很大的集团公司,有软件公司,也有知名的互联网企业。有游戏公司,也有软硬结合的公司。还有很多军队和学校的单位也都在使用禅道做项目管理。

禅道目前有开源版本,也有专业版,在特性选择上,哪些特性会进入专业版,哪些会进入开源版,你们的标准是什么?

主要的标准是看功能的通用性,如果是每个企业都可能会用到的功能,我们会优先考虑放在开源版本中。专业版本更多的提供的一些增强的功能,比如更多的统计、更多的任务查看方式等等。

我们之前专业版本有批量添加、编辑的功能,后来我们觉得这个大家都需要,我们就把批量操作功能模块放到了开源版本中。我们不会为了推销我们的收费版本而故意在开源版本中做很多的功能限制,那样是不道德的。

其实开源版本的功能已经足够丰富和完善了,以至于我们销售最大的对手就是我们自己,哈哈。很多用户试用了开源版和专业版,说开源版足够了。

禅道目前的盈利模式是什么?在开源项目商业化上,你们有哪些经验可以分享?

其实所有的盈利模式核心都是用户数。没有用户,再好的模式也没有用。简单来说就是通过为用户提供开源的、免费的、专业的项目管理软件,并为他们提供及时有效的支持,获得大量的用户,然后再通过增值的功能或者服务来收费。这就是禅道的模式。禅道的收入有专业版本的授权、培训、在线托管、定制开发、插件销售等多种渠道。

开源项目商业化不容易,有一些体会和开源的同行分享:

  • 产品的选型很重要。国内开源的朋友大部分做的都是框架之类的东西,但其实你想想,框架的使用者是开发者,而赚开发者的钱太难了。企业也不会为了一个框架的乐鱼app官网的技术支持或者培训买单,很难。应用类的开源软件就比较好,因为用户可以实实在在地感受到你的软件给他带来的价值。
  • 最好是专职来做。兼职来做,更多的是兴趣,想来做商业化,确实还是需要成立公司,专职来做。别的不说,人家买你东西,要开发票,你兼职来做,怎么办呢?成立公司,人家也会觉得你的产品有保障,可以持续下去。
  • 做开源软件很不容易,不是单单把软件开源出来就可以了。要整理文档,回答问题,要做宣传推广,要坚持更新版本。我们自己的体会,这些工作差不多占到了一半左右的时间。也就是我们一半时间开发软件,一半时间在做周边的这些支持工作。
  • 考虑问题的角度很重要。搞开源的,都是技术的高手,考虑问题更多从技术层面考虑。但真正做产品,需要我们转变考虑问题的角度,更多地站在用户的角度来考虑。比如我们最开始配置发信功能,是通过配置文件来设置的。后来发现大家对smtp端口、发信账户这些都搞不懂。就逼着我们简化配置,最后我们就简化为只需要用户输入一个邮箱地址,各种参数就可以自动计算出来。用户使用也方便,也减少了我们大量的支持工作。

禅道还推出了一个开放平台,这个开放平台的目的是什么?

开放平台和禅道的插件机制是有直接关系的。禅道的用户可以按照禅道的扩展机制对禅道的功能进行修改或者定制以满足个性化的需要。当某个用户做完了某个功能,发现这个功能其他人也可能需要,他可以把插件代码打包成一个zip文件,发布到我们的开放平台上面了,这样其他用户就可以在禅道软件的插件管理中心中浏览到这个插件,然后可以在线自动安装、禁用、卸载或者升级,非常方便。

做这个开放平台,也是受wordpress和drupal的启发。它们的社区有成千上万的插件功能,形成了一个生机勃勃的生态体系,也奠定了它们在这个领域的领先地位。我们做这个开放平台,除了方便大家分享交流插件之外,也是想吸引第三方的朋友来分享插件,可以是开源的,也可以是收费的。

简单介绍一下开放平台目前的情况。如何实现与开发者共赢?

开放平台目前有四十多个插件,来自第三方的插件大概能占到1/3。

和开发者利益分享这块我们是这样处理的——开发者可以把他开发的插件发布上来,然后标价出售,如果有用户购买的话,他可以获得70%的分成,平台占30%。

但开放平台也存在一些问题,主要是有时间且有能力开发禅道插件又可以和大家分享的开发者太少了。很多插件也没有及时随禅道最新版本升级。这是中国的开发者现状吧,没有办法,只能慢慢来。

禅道项目今后的发展规划是什么?

禅道计划有两条线,一个是前面和大家介绍的我们新的项目蝉知企业门户,这个主要是解决企业对外营销的问题。另外就是对禅道的交互做进一步的优化和加强。专业版本的功能进一步完善和丰富。我们的愿景:管公司,用禅道;做营销,用蝉知!
  • 大小: 140.7 kb
  • 大小: 33.2 kb
  • 大小: 15.3 kb
  • 大小: 7.2 kb


评论 共 16 条
16 楼 2017-07-21 09:44
wwccss4sb网友的评论,应该也不是恶意毁谤竞争对手,个人觉得禅道官方不应该针对他发表这么犀利的评论,有失风度,你们公司这么大这么强,不应该这么小家子气。
15 楼 2015-03-03 07:56
wwccss4sb 写道
禅道号称自己是开源,实际上稍微有用点的功能就是加密收费的(还不便宜,比如做项目基本的版本控制功能,国外人家开源的redmine(他自己上面的问答里也提到了)都是直接集成的,他们那个插件居然恬不知耻的卖大几百!),哪有这样的开源?

而且由于其精力有限,这几年靠这个程序可能也忽悠了一些企业交钱,所以这个人非常狂妄没有耐心,我都买了你的产品了,我使用的过程中发现了bug告诉你,你就算不想改也好歹应付一下吧,他们的回答竟然是:“任何产品都会有bug! 天!这个“公司”真是牛气冲天啊,想必微软出了bug都不敢这样应对用户吧!!!总之使用禅道和跟他们打交道的过程中,真的是让我大开眼界了。

我就很好奇,百度了一番才发现禅道这个公司就是个皮包公司,没有什么实力的,他们的服务和技术根本无法跟上企业的要求,大家可以看看,基本上就是这个叫王春生自己在开发在宣传在维护,不论是其官方网站上的帖子,还是这种宣传贴,还是这下面的回复,或者其官方群里的日常管理,基本上就他自己一个人自编自导自演!

而且最最奇葩的是,其乐鱼app官网上居然有一篇教训用户专用的什么什么提问的智慧,意思是用户还不能问傻问题,问得不合他胃口,他还要发脾气!太奇葩了,你要是个什么巨头,店大欺客也就算了,禅道在企业管理软件市场里才几斤几两,真是把自己太当回事了。

最后,喷了这么多,我不得不很佩服这个人,真的是个“人才”啊!大家勿怪,有兴趣的可自行百度搜索或者用他们的产品或者跟他们打交道验证我有半点冤枉他们没有。



1. 你可以比较我们开源版本有而redmine没有的功能。保证完爆你所说的redmine。
2. 不知道你所说的bug具体是什么?这样空泛的说,没有什么意义。管理软件有很多是流程和方法方面的区别,我们有自己的设计思路。不会因为你掏了钱,就一定按照你说的修改。你不喜欢,不接受,退钱给你就是。

3. 我们是皮包公司,我们是靠忽悠,那我给说下我们忽悠的成果吧:

   我们是皮包公司,国内已经有几万家公司,每天几十万工程师使用禅道。
   我们是皮包公司,国内一线互联网公司几乎都有部门在使用禅道
   我们是皮包公司,国内有多家银行公司采购我们的软件和服务。  
   我们是皮包公司,国内多家安全行业的巨头采购我们的软件。
   我们是皮包公司,国内多家制造行业的巨头采购我们的软件。  

  你这种自己yy的高潮的人,继续高潮吧。

4. 我们群里面有专职的客服和乐鱼app官网的技术支持,呵呵,你只是眼瞎出了问题,看不到而已。
   文档性的东西都是我整理的,这有什么问题?

5. 提问的智慧其实就是写给你这种人看的。粗俗,没有礼貌,技术又烂,人品又极其龌龊。

中国总是不缺少这种垃圾。
14 楼 2015-01-24 22:34
禅道号称自己是开源,实际上稍微有用点的功能就是加密收费的(还不便宜,比如做项目基本的版本控制功能,国外人家开源的redmine(他自己上面的问答里也提到了)都是直接集成的,他们那个插件居然恬不知耻的卖大几百!),哪有这样的开源?

而且由于其精力有限,这几年靠这个程序可能也忽悠了一些企业交钱,所以这个人非常狂妄没有耐心,我都买了你的产品了,我使用的过程中发现了bug告诉你,你就算不想改也好歹应付一下吧,他们的回答竟然是:“任何产品都会有bug! 天!这个“公司”真是牛气冲天啊,想必微软出了bug都不敢这样应对用户吧!!!总之使用禅道和跟他们打交道的过程中,真的是让我大开眼界了。

我就很好奇,百度了一番才发现禅道这个公司就是个皮包公司,没有什么实力的,他们的服务和技术根本无法跟上企业的要求,大家可以看看,基本上就是这个叫王春生自己在开发在宣传在维护,不论是其官方网站上的帖子,还是这种宣传贴,还是这下面的回复,或者其官方群里的日常管理,基本上就他自己一个人自编自导自演!

而且最最奇葩的是,其乐鱼app官网上居然有一篇教训用户专用的什么什么提问的智慧,意思是用户还不能问傻问题,问得不合他胃口,他还要发脾气!太奇葩了,你要是个什么巨头,店大欺客也就算了,禅道在企业管理软件市场里才几斤几两,真是把自己太当回事了。

最后,喷了这么多,我不得不很佩服这个人,真的是个“人才”啊!大家勿怪,有兴趣的可自行百度搜索或者用他们的产品或者跟他们打交道验证我有半点冤枉他们没有。
13 楼 2014-09-29 22:33
mark一下
12 楼 2014-02-07 10:48
如果有使用教程的话,那就更好一些了
11 楼 2013-12-25 17:28
xuanye 写道
其他还好 ,就是数据量一大 太慢

你可以改下zentao/config/my.php,把里面的localhost改成127.0.0.1试试。
现在windows的新版本都默认不提供localhost的解析了。链接数据库的时候,mysql会有一个机器名的反向解析,会有一个延迟。
10 楼 2013-12-25 10:35
其他还好 ,就是数据量一大 太慢
9 楼 2013-12-05 14:08
使用过禅道,适合敏捷开发,非常感谢王老师以及他的开源团队的分享,个人感觉要整个团队每个角色都要使用才能发挥这个系统的作用,开始使用感觉是麻烦不如excel方便,但是随着迭代的不断增加,越来越发现还是禅道给力!
8 楼 2013-11-05 14:14
没有用过,以后用用!
7 楼 2013-10-22 18:54
以前春生老师来过我们学校~也跟春生老师交流过~很好的一个人~~
6 楼 2013-10-03 21:29
禅道还有很多需要改,用了一段时间,还是转到其它的了。
5 楼 ray_linn 2013-09-16 12:43
感觉楼主share point没用透。
4 楼 2013-09-15 21:21
非常不错的一款项目管理工具,我都用了三年了。
3 楼 2013-09-13 16:44
有跟eclipse的mylyn的集成的功能吗?
2 楼 2013-09-13 16:13
学法律的女朋友一样一样的,只能开关机
1 楼 cywhoyi 2013-09-13 15:54
我女朋友中文系的,跟你是一脉相连,苦逼的是让她重装系统都不会

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • hook_getadaptersinfo

  • 今天遇到一个奇怪的事情,使用obsolete不删除归档日志,而且也不删除过期的归档的backup set从delete obsolete的概念来看如下:the report obsolete and delete obsolete commands work in two steps:for each datafile for which there are full backup, datafi...

  • 了解cassandra集群的性能特点有助于诊断和维护cassandra。由于cassandra使用java开发的,所以它就提供了jmx环境下的一些管理工具来管理cassandra,它们包括:cassandra nodetool工具、datastax opscenter管理控制台和jconsole。 使用nodetool工具 nodetool是一个命令行的工具集,它可以监控cassandra和执...

  • dbeaver注册机

  • delete obsolete 会删除归档日志么?

  • 声明 文章发布于csdn cassandra concurrent 具体实现 cassandra并发技术文中介绍了java的concurrent实现,这里介绍cassandra如何基于java实现cassandra并发包。 figure1——cassandra并发实现 cassandra各个stage是通过stagemanger来进行管理的,stageman...

  • 1. 目的 识别静态链接且被去除符号的库函数。 2. 原理 ida会用签名匹配ida数据库中的函数,如果匹配上会自动重命名函数 注意:只有使用 ida 哑名的函数才能被自动重命名。换言之,如果你已经对一个函数进行了重命名,而后这个函数与一个签名相匹配,那么,这时 ida 不会再对这个函数进行重命名。因此,在分析过程中,你应该尽可能早地应用签名 3. 制作方法 3.1 静态链接且被去除符号的可执行文件 为了展示ida签名的效果,我用以下例子: ...

  • 摘要 本文主要介绍cassandra线程技术,cassandra的实现是基于java的,所以线程技术使用的也是jdk包提供的线程类。cassandra是分布式数据库,整个并发架构是基于阶段事件驱动架构(staged envent-driven architecture)它能够利用queue将复杂的事件驱动分解为各个阶段。 一.java并发 executor 框架 h...

  • 第二章 首次安装sdk 1、hi3531 sdk包位置     在"hi3531_v100r001***/01.software/board"目录下,您可以看到一个 hi3531_sdk_vx.x.x.x.tgz 的文件, 该文件就是hi3531的软件开发包。 2、解压缩sdk包     在linux服务器上(或者一台装有linux的pc上,主流的linux发行版本均可以),使用命令

  • vc 源码 一个使用detours来hookapi的简单例子 deviceiocontrol获取硬盘串号 getadaptersinfo获取mac hook这两个api改变获取的硬盘串号和mac地址 hdhook工程 生成dll gethddsn工程 载入生成的dll 获取硬盘串号和mac地址 需要自行安装detours

  • 使用@requestbody: 当请求content_type为:application/json类型的请求,数据类型为json时, json格式如下:{“aaa”:“111”,“bbb”:“222”} 不使用@requestbody: 当请求content_type为:application/x-www-form-urlencoded类型的或multipart/form-data时,数据格式为aaa=111&bbb=222 注意:需要json转换成实体类时,必须用@requestbody注解 .

  • 本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10506636.html ffmpeg封装格式处理相关内容分为如下几篇文章: [1]. ffmpeg封装格式处理-简介 [2]. ffmpeg封装格式处理-解复用例程 [3]. ffmpeg封装格式处理-复用例程 [4]. ffmpeg封装格式处理-转封装例程 这几篇文章内容联系紧密,但放...

  • 先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为oppo等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。java的强引用、弱引用、软引用、虚引用。java语言基础常识。java12新特性。javaio详解。...

  • obsolete 与rman的retention policy 有关,当备份或者副本根据保存策略被丢弃时,系统会将该备份或副本标记为 obeolete 状态。 比如设置的恢复窗口为 7 天,则 7 天以前的所有备份都会被标记为 obsolete 状态,这些备份都被认为是过期的。 expired 是使用 crosscheck 对备份进行校验,当备份或者副本存储在 rman 的知识库中,但

  • 说说jvm内存模型。 线程的程序计数器是干什么用的? 说说堆里面的垃圾回收算法?为什么新生代用复制算法,老年代用标记整理、标记压缩? 了解cms这个垃圾回收器吗?说说它的工作流程? cms在并发标记的时候,用户线程也会不停的产生一些大对象,remark再次标记的时候可能会花上很多时间,说说你的优化方案?(我:???) 说说java线程池的工作流程? 看你项目用过dubbo,dubbo底层是怎么通...

  • 转载自 10道腾讯的java面试题 下面总结10道面试腾讯的java面试题。1、说几种常见的攻击方式及预防手段。2、http1.x和http2.x的区别。3、mysql查询语句怎么做性能分析。4、你知道哪几种排序算法?5、hashmap和hashtable的区别,并说明其底层实现数据结构。6、hashmap满了之后怎么扩容?7、linux中远程传输文件有什么方式?8、说说java中异常的分类。9、...

  • 首先我们先熟悉一下蓝牙协议的基本规范1)a2dp(advanced audio distribution profile)        高级音频、立体声规范,包括a2dp sink和a2dp source;2)avrcp(audio/video remote control profile)        音视频远程控制规范,音乐播放、暂停等;3)hfp(hands-free profile) ...

  •   //调用的方法 microsoft.office.interop.excel.application app = new microsoft.office.interop.excel.application(); string filename = startupfilepath "\\a.xlsx" ; app.visible = false; //不显示excel app.d...

  • 前端时间在做小程序水运头条时,有个需要通过阿里云的回调接口将上传到阿里云的小视频的视频大小,时长,封面等参数给回调到我们的后台,从而保存至数据库.回调接口嘛,以前写过,跟普通接口没多大区别.我就三下五除二的将接口给写好了,稍微的模拟测试了下,觉得没毛病了,我就直接给部署到测试环境了.(这里提一句,由于我本地的网络是公司内网,所以阿里云的接口是回调不了的,只好给部署到测试环境进行最终测试.)在这期间...

global site tag (gtag.js) - google analytics
网站地图