恭喜虎哥,贺喜虎哥,有饭吃咯,^_^
要留住人才,必须培养自己的人才
我一直对团队是否能够吸引到人才表示担忧,上次我已经说过,“团队的竞争对手不仅仅是创新基地、ACM团队,更包括微软、IBM、intel等等大型企业及清华北大等等著名高校,所以我们如果要留住人才,必须培养自己的人才,到大四再去搜罗人才的方法是行不通的”。
这种担忧,已经成为一个严峻的现实了!
昨天dian展示了ljz访美的照片,我相信大多数人都会很向往很羡慕他的经历,这不是崇洋媚外,而是一种向往美好事物的天性。intel这种大公司是有很强的号召力的,它出得起钱,它随便搞个活动,就可以让ljz们激动好几个星期,团队与之相比,相形见绌!
我觉得团队要警觉起来。现在团队很多人,都沉浸在一种优越感之中,感觉团队很了不起,是众多学生梦寐以求想进入的地方。梦寐以求的确不假,但这仅仅是因为现在机会太少了,眼界太窄了,等到他们看到了机会,他们还会梦寐以求团队吗?在团队很辛苦,干得再多也不会加分,相比之下,做大赛很轻松,还可以加分免试保研甚至出国观光,找工作的时候,这种经历一写,顶上在团队做好几个项目。另外,团队出去的同学普遍缺乏表现力,英语水平又差,大多数人一看就是标准的蓝领,干本份工作的。
现实是残酷的,当我们还陶醉于自己的成绩的时候,我们可能很快就会失去自己的优势,我们的竞争对手太强了!我们的优势是做真实项目,但这也是我们最大的掣肘。真实项目意味着细节,意味着无限期的维护,当我们把GEMMING当成团队的人才培养基地的同时,也意味着我们终将为太大细节牵扯过多精力。细节很重要,但细节不是全部,我们需要open的精神,需要表现力,需要fluent oral english。
我希望团队以后能够做点改变。
首先,要尽快形成自己的核心竞争力,要提高项目的平均利润,要缩小项目数量,否则我们只能像现在这样在一些小项目上牵扯太多时间,而没有时间来培养人,熏陶人,提高人的气质和综合素质;
我不得不说,我们的思路存在着自相矛盾的地方。一方面我们要培养帅才,培养创新能力,另一方面,我们却把绝大多数精力放在了细节问题上,任何事情,要是太牵涉到细节,就会变成体力活。创新的过程,应该是一个不断有idea,不断有时间去实现idea的过程,而不是郁于某件事情,某个idea,我觉得我们现在太缺时间了,项目忙得要死,还怎么会有时间去实践自己的idea呢?
第二,要形成自己的理论方向,这年头,做ARM7、ARM9的都是产业链的最低层次,很多公司,我知道的sinfor、nsfocus,他们的产品有硬件平台,但他们自己不做,直接外包,因为最赚钱的不是ARM7/9的板子,而是在板子上跑的技术。这一点在招聘会上表现得淋漓尽致,人家第一条肯定不会说“熟悉ARM7/9”,而会说“熟悉移动通信理论….”,“熟悉ARM7/9”最多不过是个plus而已;
这不是怀疑我们积累的技术的价值,缺乏理论方向的确是我们的软肋,我觉得我们要有这样的抱负,除非我们不做这样的定位。当然,在目前看来,我觉得我们至少在3年之内,是没有办法在这方面取得实质性的突破的。
第三,我们不仅要培养有宽阔视野的人,更要培养创新思维。昨晚dian说到zxt做的那个东西,虽然把人家开发板所有功能都用上了,但是没有创新,一刀砍死,他们这种作品注定拿不到大奖。创新需要钻研,否则功能垒得再多,人家也不会认可你的。团队在创新这方面无疑是有很大缺陷的,队员普遍缺乏创新性思维,上次MS那个嵌入式大赛可见一斑,再如昨天看到的虚拟实验室和成都科技馆的很多展项比起来,更是相形见绌;
第四,我们要走出去,迎进来,我们也要参赛,我们的项目要鼓励多样性,没有必要老是固守在真实项目上。我们没有必要去抵抗大公司的进攻,我们要利用大公司发展自己,老是抓住真实项目不放,对人对己,都没有什么好处。
我不是说不要项目,而是说,我们要重视参赛!我清晰的记得,我们曾经有一段时间,对参赛是抱有一种不屑的,参赛甚至成为我们对比于创新基地的资本,走出去,迎进来,我们应该感谢ljz给我们带来的这次思想上的冲击!
莫衷一是!
昨天goldenray的生日,但他在实验室中度过过了一天;昨天duoergun的女朋友来了,就陪女朋友出去玩了。江山、美人,孰轻孰重?在这一刻,我感觉自己价值观模糊了。我能说duoergun不对吗?我也经历过项目和女朋友之间的抉择,我能够体会到这种难处,我只能说,goldenray非常敬业!
团队的兄弟们都太辛苦了,想起了王翰的诗:
凉州词
葡萄美酒夜光杯, 欲饮琵琶马上催。
醉卧沙场君莫笑, 古来征战几人回。
我们很需要经验和魄力
魄力来自于什么?自信!自信来自于什么?历练!
昨天中午听hyxxl组例会,hyxxl在安排任务方面,还缺乏经验,安排任务没有远见(不知道现在做的事情在整个过程中处于哪个阶段)、不具体(有些应该由某人独立承担的任务,结果搞了N多人去关注)、不明确(没有给出截至日期,没有向队员明确他的任务对整个项目的重要作用)、并行性不高(也是没有远见的一种表现,比如:等到板子到了,才想到去买芯片,投板子时不是先投控制部分,而是先投外围,造成硬件调试时还需要大家额外的电路为外围电路模拟外部环境)。
作为监督员,应该在组长面前体现魄力,为组长起到表率作用,不仅要指出其问题所在,有时候也要身体力行,直接告诉组长应该怎么做,比如amuzing,昨天就直接越俎代庖,帮助黄勇理清了当前最紧迫的任务,并对分工进行了实时的调整,这对laser power组来说,是一剂非常及时的药,对hyxxl来说,也是一个极好的示范。
大多数时候,我们不知道为什么会这样,即使知道了为什么会这样,我们也不知道怎么做才能不这样,知道怎么做才能不这样,还要坚持做下去,才能从根本上解决问题。第二个问题是hyxxl的问题,第三个问题就是wikiexe的问题了,他的问题在于不知道如何坚持。
昨天quickmouse肢解了他们的项目,我惊叹于quickmouse的魄力和技术力,他一语道破冲突检测的带宽利用率问题,否定了冲突检测的可行性,进而建立了令牌环网模型,这是我或者amuzing或者dodo都无法做到的。
最后,说一句,我觉得hyxxl和wikiexe都是非常有天赋的队员,硬件是经验科学,项目管理在一定程度上也是经验科学,走过风雨才能见彩虹,相信二位有一个美好的明天!
第一次和校长同桌吃饭
具体应该说是副校长,挺有亲和力的,但仍然不会把俺们小辈放在眼里,^_^
校长跟记者介绍我们团队,理论层次拔得很高,受益菲浅,现在全国都在提实践教学,但真正实践的,就寥寥无几了,能在这个团队帮助dian老师成就这番事业,我感觉很自豪。后来校长同志又去参加另外一个应酬了,接下来就是教务处长在海聊了,教务处长看起来很年轻,理论水平也很高,看问题有深度,我很佩服他对于自己工作的认识:“我们就是在观察教师中间出现的问题,创造条件,让有价值的东西能够得到推广”,这是一种非常务实的认识,现在的官员能做到这样的,已经难能可贵了。
不过他对于大学培养目标的看法,似乎太脱离实际了。他说,我们大学培养的人才基础扎实,智商又不低,因此可以成为传统行业的leader和新兴行业的开拓者,我们不是在培养简单的工程师。我觉得这些只能作为目标,在当前教育体系的目标普遍缺失、教育资源普遍匮乏的大环境下,普遍husters就不要做太多奢望了。
PS:当记者真好,待遇忒高,^_^。
华北危急,平津危急,同志们,行动起来吧!
HLD我们势必要延期3天时间,LLD只有14天,除去周末,只有12天,再加上liyong本周要去成都,大家的课程又占有了很多时间,不容乐观!
大家可以想想,我们什么时候才能将这3天时间补起来呢?LLD?我觉得没有可能,编码?但愿如此……
总结一下HLD延期的原因(我能想到的):
1. yangrh去北京的几天内,由于对HLD书写格式不太熟悉,造成后面有局部修改;
2. 对分布式处理、热备份、热插拔等不太熟悉的知识不够重视、跟踪不力,导致SRS阶段的工作移到了HLD阶段完成,造成HLD的被动;
3. 前期我对报文处理、连接管理关注过多,对规则管理关注过少,导致两边进度不一致,HLD延期主要是在规则管理部分,这一部分要加油;
4. 各位课程的增加。
……欢迎大家补充原因,善于总结才能更快进步!
鉴于以上原因,我觉得我们应该做一下改变:
1. 尽快确定热备份的方案,这个工作请yangrh和liyong配合;
2. 我会更多参与规则管理部分的设计和讨论(liyong也要持续参与),希望能加快这部分的进度;
3. 请大家在LLD阶段抓紧时间,尤其是报文处理和连接管理两部分,你们一定要走在前面,你们踏出来一条路,后面的人就能少走弯路,你们的工作先完成,就能为其他部分分担工作量;
4. 请yangrh今晚把LLD的要求讲一下,白天大家难以凑在一起,我觉得cmzb、duoergun、mef、fw、liyong(客户IP管理部分)明天可以开始这方面的工作了;
5. 请yangrh持续跟踪SRS、HLD中的某些问题,对于要基线化的文档,做一些把关。
拥有一批非常主动的组员,是项目组长的荣幸
昨天下午,fw跑过来说,有没有什么东西可以分给他做的,他那一块已经做完了;接着suoluo、mef、liyong、mef都很主动的来说,有没有什么事情可以做;最感动的是今天上午,我本来把时间留出来让他们做完HLD,没想到他们都提前完成了,不过我没有及时发现这一情况,这时,fw跑过来说,我们下一阶段要干什么?我们已经完成了,然后我就安排他们交叉review。
主动,对于一个小组的融合、战斗力、效率等等都是非常重要的。组员主动,对他自身来说,是一个提高、表现的机会。我已经越来越看好他们中的某些人了,他们对整个项目非常了解,理解能力和设计水平在整个过程中得到了很好的体现。组员主动,还能极大地提高组员的协调效率,弥补组长的疏漏,比如今天,如果不是fw的提醒,我可能真的就让大家浪费了一个上午。
另外,我发现主动这种东西是可以培养和引导的,首先,应该培养组员的主人翁意识,某些工作,应该放手让他们去干,只有组长放手了,他们才能意识到自己工作的重要性,体会到自己的价值,进而激发自己的求知欲和责任心;另外,要保护好组员的信心,要时刻关注组内最短的那块木板,当她/他出现危机时,要注意以一种温和的态度,参与他模块的讨论,帮助他理解任务,最后度过难关,不要过分强硬,这样会对他造成压抑感,组员的天赋就得不到尽情发挥;最后,某些队员的带动作用对组员主动性的引导起着关键作用,在我们组,fw的主动性起了很好的带头作用,他的主动,经常让大家都动起来了。
PS:这些天suoluo的表现有所改变,前段时间她总是固守自己那一块,但现在她越来越乐意参与小范围内讨论了,这是一个可喜的变化,只要保持这种兴趣和激情,她会更快进步起来的。
电信开始没落了!
本文纯属个人观点~~
咱们的电信系现在到底在干什么?电信的优势到底在哪里?hzl老师说过,电信的精华在微波和射频,但如今,微波和天线这些电信的看家课程,已经不开了。
大家都在干吗呢?做java、网站、嵌入式、外包、IC设计…..上到cs的工作,下到电子的,都在做。电信的方向到底在哪里?昨天看到校报上报道电子系的“挖坑”观念,他们系主任组织全系老师成为一个团队,他们的努力引进了世界先进的IC生产线,使得武汉极有可能成为中国下一个IC生产基地。我很佩服他们的责任感、开阔的胸襟和远大的理想,相比之下,电信的老师们各自为政,人固然很多,但拧不成一股劲,做不了大事。
没有自己的特色,迟早要被淘汰出局的。如今嵌入式的门槛太低,是个人,搞上一年半载就可以做简单的×层板、写嵌入式程序了。看看现在的招聘,都已经不强调“嵌入式软件工程师”一说了,因为现在的嵌入式软件平台已经非常成熟,做嵌入式软件和做应用软件基本上没有什么区别,招个电信的和招个计算机的没什么差别;牵涉到硬件的都是什么Layout、signal integrity等等,但电信系在这方面也没什么积累。电信系虽说软硬通吃,但软不如计算机,硬不如电子,在这个越来越专业化的领域,没有人招了你过去,让你既做软件又做硬件的,电信的尴尬可想而知。
电信要想保持过去的辉煌,必须回到自己的位置上来,微波和射频才是我们应该专注的方向,团队正在往这样的方向上走,只要我们保持住这种理性,不要被暂时的利益所迷惑,团队一定会越走,路越宽的。
没钱,宝贝仔生日礼物都买不起
最近真是穷得可以,宝贝仔生日,她要一个“漂亮的、精致的、多功能的MP3”,结果还是没能满足她的要求,从现在开始要省吃俭用了,答应宝贝仔,下次去北京,就带她去买MP3,还要买个“金凤呈祥”的cake,给她重过一个生日,^_^。
转摩托罗拉C 面试题
这几天太忙,顾不上整理思路写blog了,转载一篇moto的面试题,^_^
From:最近经常在上CSDN看看,关注里面各位程序员的BLOG,主要是C++方面的,毕竟可以了解一些有用的东西 target=_blank>http://www.egoday.com/blog/article.asp?id=219
最近经常在上CSDN看看,关注里面各位程序员的BLOG,主要是C++方面的,毕竟可以了解一些有用的东西。找到的一二摩托罗拉的C++面试题,学习下。
1.介绍一下STL,详细说明STL如何实现vector。
Answer:
STL (标准模版库,Standard Template Library.它由容器算法迭代器组成。
STL有以下的一些优点:
可以方便容易地实现搜索数据或对数据排序等一系列的算法;
调试程序时更加安全和方便;
即使是人们用STL在UNIX平台下写的代码你也可以很容易地理解(因为STL是跨平台的)。
vector实质上就是一个动态数组,会根据数据的增加,动态的增加数组空间。
2.如果用VC开发程序,常见这么几个错误,C2001,c2005,c2011,这些错误的原因是什么。
Answer:
在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:
unresolved external symbol “symbol”(不确定的外部“符号”)。
如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。
一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误.
3.继承和委派有什么分别,在决定使用继承或者委派的时候需要考虑什么。
在OOD,OOP中,组合优于继承.
委派是解决传统的m*n类爆炸问题的利器。
当然多态的基础是继承,没有继承多态无从谈起。
当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。
当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类.
4.指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?
(1) 引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值.
(2) 不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL.
(3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象.给引用赋值并不是改变它和原始对象的绑定关系.
(4) 引用的创建和销毁并不会调用类的拷贝构造函数
(5) 语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换.
不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,显得很安全。
const 指针仍然存在空指针,并且有可能产生野指针.另外,从表达形式上来说,引用更贴近变量表达式,比如定义加号重载操作符:operator+ (),如果用引用,则a加b可以写成 a + b,但若用指针,则必须写成&a + &b,显然前者更贴近常见语法。
总的来说:引用既具有指针的效率,又具有变量使用的方便性和直观性.
5.参数传递有几种方式;实现多态参数传递采用什么方式,如果没有使用某种方式原因是什么;
传值,传指针或者引用
6.结合一个项目说明你怎样应用设计模式的理念。
设计模式更多考虑是扩展和重用,而这两方面很多情况下,往往会被忽略。
不过,我不建议滥用设计模式,以为它有可能使得简单问题复杂化.
7.介绍一下你对设计模式的理解。(这个过程中有很多很细节的问题随机问的)
设计模式概念是由建筑设计师Christopher Alexander提出:”每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复劳动.”上述定义是对设计模式的广义定义.将其应用到面向对象软件的领域内,就形成了对设计模式的狭义定义.
可以简单的认为:设计模式就是解决某个特定的面向对象软件问题的特定方法, 并且已经上升到理论程度。
框架与设计模式的区别:
1,设计模式和框架针对的问题域不同.设计模式针对面向对象的问题域;框架针对特定业务的问题域
2,设计模式比框架更为抽象.设计模式在碰到具体问题后,才能产生代码;框架已经可以用代码表示
3,设计模式是比框架更小的体系结构元素.框架中可以包括多个设计模式
设计模式就像武术中基本的招式.将这些招式合理地纵组合起来,就形成套路(框架),框架是一种半成品.
8.C++和C定义结构的分别是什么。
C language 的结构仅仅是数据的结合
C plus plus的struct 和 class 其实具备几乎一样的功能,只是默认的访问属性不一样而已。
9.构造函数可否是虚函数,为什么?析构函数呢,可否是纯虚的呢?
构造函数不能为虚函数,要构造一个对象,必须清楚地知道要构造什么,否则无法构造一个对象。
析构函数可以为纯虚函数。
10,拷贝构造函数相关问题,深拷贝,浅拷贝,临时对象等。
深拷贝意味着拷贝了资源和指针,而浅拷贝只是拷贝了指针,没有拷贝资源
这样使得两个指针指向同一份资源,造成对同一份析构两次,程序崩溃。
临时对象的开销比局部对象小些。
11.结合1个你认为比较能体现OOP思想的项目,用UML来描述。(最好这个项目继承,多态,虚函数都有体现)这个问题大概会占面试时间的一半,并且会问很多问题,一不小心可能会被问住)。
。。。
12。基类的有1个虚函数,子类还需要申明为virtual吗?为什么。
不申明没有关系的。
不过,我总是喜欢显式申明,使得代码更加清晰。
13.C也可以通过精心封装某些函数功能实现重用,那C++的类有什么优点吗,难道仅仅是为实现重用。
并不仅仅是这样的。
OOD,OOP从根本上改变了程序设计模式和设计思想,具备重大和深远的意义。
类的三大最基本的特征:封装,继承,多态.
14.C++特点是什么,如何实现多态?画出基类和子类在内存中的相互关系。
多态的基础是继承,需要虚函数的支持,简单的多态是很简单的。
子类继承父类大部分的资源,不能继承的有构造函数,析构函数,拷贝构造函数,operator=函数,友元函数等等
15.为什么要引入抽象基类和纯虚函数?
主要目的是为了实现一种接口的效果。
16.介绍一下模板和容器。如何实现?(也许会让你当场举例实现)
模板可以说比较古老了,但是当前的泛型编程实质上就是模板编程。
它体现了一种通用和泛化的思想。
STL有7种主要容器:vector,list,deque,map,multimap,set,multiset.
17.你如何
理解MVC。简单举例来说明其应用。
MVC模式是observer 模式的一个特例,典型的有MFC里面的文档视图架构。
18,多重继承如何消除向上继承的二义性。
使用虚拟继承即可.