应届毕业生:选择C++还是C#

cllover 2012-02-24 10:23:03
C#+SqlServer 因为做过不少项目,所以稍微熟悉一些,但是没有系统的锻炼还不够深入
但是自己倾向于以后往C/C++/Linux方向发展,但是C语言只懂基础没有项目经验,C++也只是有语言基础没有项目经验,STL,WTL,COM,Boost等了解很少,Linux只是用过Ubuntu但还不会安装卸载程序,shell编程以前用过,MFC只是看过孙鑫的VC视频,没有实际的项目经验。

所以想找工作必须在.Net方面才有竞争力,但是可能心里认为.Net越来越简单人性化难以形成自己的核心竞争力,所以以后想往C/C++方向发展....


真诚请教各位大牛,不知北京情况如何...
...全文
7631 127 打赏 收藏 转发到动态 举报
写回复
用AI写文章
127 条回复
切换为时间正序
请发表友善的回复…
发表回复
cllover 2012-03-05
  • 打赏
  • 举报
回复
C++吧,先练好技术,先在北京稳定下来,有饭吃在好好打拼。。。just follow your heart。。
大雷神 2012-03-05
  • 打赏
  • 举报
回复
再给一次机会 我就当初就选择搞实施了
周期短 见效快 提成高 人缘广
loopzxl 2012-03-05
  • 打赏
  • 举报
回复
学C++吧 楼主听我的肯定没错 看看这个帖子里 你不学C++ 学C++的越来越少 以后老板们都不用C++做东西了

我们这些学C++的也不好混了
rainman48 2012-03-04
  • 打赏
  • 举报
回复
使用哪种工具主要看你以后干哪行。。
Canvas 2012-03-04
  • 打赏
  • 举报
回复
楼主别学c++了,没前途,真的没前途。相信我,你学了,竞争就大了
lvNotOnlyForShe 2012-03-04
  • 打赏
  • 举报
回复
转载:http://news.cnblogs.com/n/72565/
1.1.21.1 简介
  作为架构师和设计者,我们常把手头的事情作为工作焦点,很少反思过去如何。我们应该温故而知新。我从作为skype架构组领导的55 个月经历中总结了6个经验。其中一些是技术性的,另外一些是架构师较为软性的观点。首先介绍一下Skype的背景资料。
1.1.21.2 Skype背景
  Skype是让用户可以进行音频视频通话的软件,也可以拨打普通电话以及发送短消息。公司成立于2003年,从成立以后就有令人难以置信的成长曲线。公司现在有超过五亿两千万注册用户,大约650名员工。这些用户同时产生平均21万个通话,其中大约三分之一包含视频。这个数字大致上是全世界国际通话的 8%。
  不用多加说明也能知道,这个通讯量产生了罕见的扩展性挑战。在Skype一直使用端对端(peer to peer)技术作为处理类似挑战的主要武器。对等网络(核心用C语言实现)主要是由C++编写的服务器端服务及Postgre数据库支持组成,并结合强大的Python脚本。Web服务使用PHP搭建。
1.1.21.3 技术方面
经验法则不适用
  在作为软件工程师的职业生涯中,一些模式会慢慢浮现出来,一些经验规则会显现出来。显然,你愿意无论何时何地都一直使用这些规则。毕竟它们过去都很有效,是不是?
  事实证明,即使你有好用的锤子,也不要把身边所有东西都当成钉子。在快速变更的现代科技社会,经验法则不会一直适用。例如,我们看看Skype数据库是如何架构的。
  传统智慧说永远不要在数据库里面实现业务逻辑。为何这个说法传播如此广泛?大多数架构师都有类似经验,这会导致原始数据库在硬件方面如巨兽般增长,无法运行,也非常难维护。
  这个假冒克苏鲁恐怖神出现的原因是主要数据库平台常常缺乏两个重要而且立等可用的特性:横向划分数据库的能力(比如根据数据实体划分数据)和纵向划分数据库的能力(不同的数据库实体放入不同数据库中)。当然,我们可以自己建立这两种特性,但是数据库管理团队以外的人常常也想处理类似问题。对于DBA来说这是赖以生存的手段而不是用于解决问题的能力。也就是说,对数据库做划分或者队列的技术常常要存在于数据库之外,使得开发者需要自己处理协议转换、多种接口、数据集成等问题。
  在Skype,维护数据库的这些人恰巧也是Postgre的重要贡献者。从很早开始他们就拒绝把数据库看成是系统架构角落一个大而无当的罐子,反而以积极地态度去学习技术,解决他们遇到的扩展性、性能及可维护性方面的问题。像你猜想的一样,这些还不够,即使最好的数据库架构也会在轻率地编码中被废掉。幸运的是,Skype数据库管理员从很早开始就掌控了需要进入数据库层的开发工作,在执行了一系列非功能需求、代码实现、同事评审过程来确保实现代码适合数据库层以及其他相关部分的设计之前,Skype的DBA不放弃控制。
  图一解释了他们如何使用这些工具建立Skype数据库架构。
  这里由四层构成:
• 接入层提供了接入数据库的能力,而且也处理数据库分区问题(pIProxy)和连接池(pgBouncer)。并且让开发者可以透明的使用这些功能。
• 联机事务处理层,是OLTP数据库存在的地方。
• 队列层,负责层与层之间数据库传送数据和复制数据。
• 内部服务器层,包含了用于记录、统计、检视、批处理和ETL目的的数据库。
  所有这些都是为了保证数据库可扩展性对于开发者不是问题。我们把必要的业务逻辑尽量贴近数据,让它最有效的工作,也就是"业务逻辑应该远离数据库”的经验法则并不适用。当然会有类似发布、调试以及单元测试之类的困难,但是我们不害怕原始数据库肆虐发威。

  图一:数据库层
  架构模式也是一样。在工程师之间建立通用技术词汇表、提供验证过的常见技术问题处方是非常重要的事,应该小心对待。Skype的端到端网络就是很好的例子。如果问题以“设计互联网电话”这种方式提出,多数情况下,人们会设计使用SIP来实现要求。但是如果Skype通过基于SIP实现服务就不会给通讯工业带来变化。Skype早期的工程师不愿把自己限制于这件事通常如何完成,而是找到他们能建立的最佳可能方案。
  总之,略微不同的组织和技能,就可能有必要建立完全不同的架构模式的应用。你应该随时欢迎这些差异对自己的传统思维挑战。
忽视功能架构吃尽苦头
  我们很少有机会在项目初期搭建阶段就作为首席设计师参与工作。大多数工作是修改已有的系统,变更管理就成为架构师工作中很重要的部分。现在我们大多数变更管理关注在技术架构和有效地设计系统,以确保在实现变化以后设计依然有意义。
  可惜是这不是故事的全部。
  所有技术变化来源于功能上的变化。我们很少仅仅为了重构而修改系统。通常情况下会有一些外部驱动力,需要系统在某些行为上表现得不一样。这可能是市场上有了新产品,也可能是法律变更或者是运营部门的人需要更好的扩展。无论如何,技术变更常常伴随着功能上的变化。
  所以我们的系统和流程需要保证技术变化更容易,我们也希望这个管理过程比较有序,对于接手的人来说不是象意大利面条一样杂乱。可是什么是功能性变化?谁来关注系统的功能性以及确保变化不会让系统更混乱?
  我用例子来说明一下。
  在过去四年一直常常有人强烈要求我修改Skype的网络存储架构,即使我证明每个微小的变化都会伴随痛苦。在互联网上销售四个产品不是什么复杂的事情,大多数时间整个系统就是照常运行,即使有一些问题被发现,紧接着就解决了。
  这就是原因。
  图2展示所有Skype网络存储的功能组件。大约有200个。图表不是很清晰准确,只想展示整个应用系统的功能性和复杂度。这是不计其数的变化、添加、修改、法律问题、微调造成的结果。所有这些当然是都有事出有因和有价值的。
  相当多的架构师没有仔细考量技术变化,结果导致意大利面条般的混乱,应用系统因为不加思考的变化在功能上变得混乱。这不意味着作为软件架构师,我有意从开始就阻止这些问题。但是如果不对系统功能性架构足够小心,就会导致功能架构的支离破碎。结果只能是凌乱的技术架构。

  图2:网络存储功能架构
  总而言之,应该时刻对你要维护的系统功能保持关注。修改技术架构,也要经常维护功能架构。
cdcjk 2012-03-04
  • 打赏
  • 举报
回复
用哪种语言关键看自己的兴趣,有兴趣才有动力嘛
孤灯残云 2012-03-04
  • 打赏
  • 举报
回复
个人倾向于C++
shijeff1992 2012-03-04
  • 打赏
  • 举报
回复
[Quote=引用 69 楼 a15857401484 的回复:]

这位兄台对信管很熟悉啊 我也是2012届的毕业生 信管的 对.net也不怎么看好 现在的方向是java 与楼主共勉
引用 24 楼 magic121 的回复:

莫非难道说lz是信管毕业生?
[/Quote]

我是10级信管的啊、、觉得前途迷茫啊、、还请各位学长指点啊、、、
Redice_7 2012-03-04
  • 打赏
  • 举报
回复
握手楼主,我和你一届 。我是在C++和java 上纠结。个人比较倾向C++,但是Java 会稍微好点。
alanwang112 2012-03-04
  • 打赏
  • 举报
回复
我更加低了 还在萝莉和正太间纠结
cheniwantyou 2012-03-04
  • 打赏
  • 举报
回复
大学入门是C++,非常有感觉。后来一直学JAVA,但工作后用了C#感觉非常不错,目前主要用C#,偶尔工作中会用到JAVA。本人C#,JAVA都会。
  • 打赏
  • 举报
回复
怎么去学c和c++还是个问题呢?呵呵~~~
fafafabbb 2012-03-03
  • 打赏
  • 举报
回复
总是有初学者在质疑徘徊中浪费自己的时间青春,你看看那些c,c++大牛那个成天怀疑自己以后有没有饭碗。在你用你愚蠢的脑袋浅薄的阅历女人般软弱的性格打算考虑一些大事前,请先真正弄清楚你自己到底会什么,你到底有没有资格或者说足够的证据决定自己的未来。
X_Holden 2012-03-03
  • 打赏
  • 举报
回复
路过。。。
lv_ws 2012-03-03
  • 打赏
  • 举报
回复
我也是信管专业的,C#,C++,JAVA……同样迷茫中。。。
cllover 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 110 楼 zanfeng 的回复:]

无论你先择c#还是c++。如果你做应用软件不是做网站.c++是必须的。
[/Quote]
谢谢大牛指点
足球中国 2012-03-02
  • 打赏
  • 举报
回复
无论你先择c#还是c++。如果你做应用软件不是做网站.c++是必须的。
xaobaobao 2012-03-02
  • 打赏
  • 举报
回复
唉,,,心酸啊。。。
peng111hn 2012-03-02
  • 打赏
  • 举报
回复
看你兴趣来 我个人觉得C++ 然后往linux走
加载更多回复(107)
3 种 考 试 笔 试,电话面试,面试,是顺利求职的 3 个过程。三关全过才能顺 利签约,只要有一关没能通过,就会被“刷”掉。 3.1 笔试 我认为笔试是程序员面试 3 个过程中最重要的一个环节,也是最难 以提升的一个环节。本书中主要叙述的也是程序员的笔试经历。不论你 有多么大的才干,多么广博的知识,如果未能通过笔试,则无缘下面的 进程。下面是一个表,描述了各种 IT 公司笔试所考题目的类型。 公 司 名 称  Trend 公 司 类 型  网络公司 笔 试 内 容  C++ 或 Java,网络,数据库,设计模式,智力测 试,英语阅读 SAP Advantech Synopsys NEC 金山 华为 中兴 VIA 华为 3COM SPSS 软件咨询,ERP,CRM 硬件,自动化公司 电子类公司 综合软件公司 综合软件公司 通信公司 通信公司 硬件公司 网络公司 数据统计软件公司 C++ ,概率问题,设计模式,智力测试 C++ (尤其是指针问题),嵌入式编程 C++ (尤其是指针问题),数据结构 C ,数据结构 C++或 PHP ,数据库,数据结构,设计模式 C++或 Java,数据结构,数据库 C++或 Java,数据结构,数据库 C++ (尤其是指针问题),嵌入式编程 C++ ,网络 C++ (尤其是继承、多态问题),数据结构 程序员面试宝典 (续表) 公 司 名 称  Sybase Motorola IBM Oracle HP 腾讯 Yahoo 微软 神州数码 大唐移动 Siemens Grapecity 公 司 类 型  数据库公司 网络公司 综合软件公司 数据库公司 综合软件公司 综合软件公司 综合软件公司 综合软件公司 金融软件公司 通信公司 数据通信公司 软件公司 笔 试 内 容  C++ ,Linux,UNIX C++ ,网络 C++或 Java Java,数据库 C++ C++ C++或 Java 或 C# C++ ,数据结构,智力测试 C++或 Java,数据结构,数据库(SQL) C++ C++ ,设计模式 C++C#,智力测验 根据上表,对各大 IT 公司的笔试题目和所考的内容,我们可以窥见 一斑,并得出以下几个结论。 1.语言的偏向性 综合上表所示, 公司笔试在编程语言上有一定偏向性, C、 IT 以 C++ 为主或者是以 Java 为主。语言本身并没有什么高低贵贱之分,但相对来 说,考到 Delphi 或者 VB 的可能性很小。作为应届毕业生,如果只是学 过 VB、VF 却从来没有接触过 C 系语言,则在笔试中是比较吃亏的。 2.英语的重要性 我所经历过的外企的笔试卷子基本上都是英语试卷,无论从出题到 解答,都是让你用英文去回答,所以必须有很好的英文阅读能力,这也 是外企招人对英语非常看重的原因。其实也不需要一定通过六级,但一 定要有相对多的单词量,能够看懂考题的意思。然后按自己的想法组织 语言来描述就可以。 国内企业一般对外语要求不是很看重,题目也是中文的。如果不想 进外企的话,也不用特别准备英语。 3.淡看智力测试 之所以要强调这一点,是和市面上过度强调外企智力测试有关。实 际上笔者参加过的微软等外企笔试,智力测试只占很小的比例,约 3%~ 14 在3 种考试中 5%左右。而华为、神州数码等国内 IT 企业基本上没有智力测试,完全是 技术考试。所以奉劝大家不要把精力都投在所谓的外企智力测试上面, 还是应该以准备技术方面的笔试为主。 4.有的放矢准备简历 不同的公司会考不同的内容,这就像高中时准备不同科目考试的差 别。比如说神州数码不会考嵌入式编程,而 VIA 考设计模式的可能性很 小。一般有点儿偏“硬”的 IT 公司会对 C++中指针的用法、数据结构考 得比较多。偏“软”的企业会对设计模式、模板着重一些。所以本书分 得很细,力求对各种 IT 公司的笔试题目做一个详尽的阐述。 作为求职者,笔试前你要首先搞清这个公司的基本情况,它是做什么 的,它有什么产品,你是学什么方面的。有的放矢才能折桂。 5.纸上写程序 搞计算机的肯定不习惯在纸上写程序,然而技术面试的时候这是面 试官最常用的一招。让写的常见程序有:数据结构书上的程序,经典 C 程序(strcmp、strcpy、atoi……) ,C++程序(表现 C++经典特性的) 。第 一次在面试官眼皮底下在纸上写程序,思路容易紊乱。建议大家事先多 练习,找个同学坐在边上,在他面前写程序,把该同学当成面试官。经 过多次考验,在纸上写程序就基本不慌了。 每次面试总会有些问题回答得不好,回来之后一定要总结,把不懂 的问题搞明白。一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。  3.2 电话面试 电话面试主要是对简历上一些模糊信息的确认、之前经历的验证、 针对应聘职位简单技术问题的提问,以及英文方面的考查。 由于模式的限制,电话面试时间不会很长。在这个环节中,一定要 表现得自信、礼貌、认真、严肃,这样会在声音上给对方一个良好的印 象。如果声音慵懒,语气生硬,除非是技术题目及英文方面表现得足够 好,否则很难予以平衡。 15 程序员面试宝典 在回答电话面试的问题时,不要过于紧张,要留心对方的问题,这 些问题也许在当面的面试中还会再出现。如果对方在电话面试中要求你 做英文的自我介绍,或者干脆用英文和你对话,那在电话面试结束后一 定要好好准备英文面试的内容。 笔者曾经参加过 Thoughtworks 、Sybase、 SAP、麒麟原创等公司的电 话面试。外企一般都会要求你做一个英文自我介绍和一些小问题,总的 来说不会太过涉及技术方面,因为用英语来描述技术对国人而言还是有 一定困难的。国企会问到技术问题,我就曾被问到如何在 C++中调用 C 程序、索引的分类等技术问题,回答基本上要靠平时的积累和对知识的 掌控能力。电话面试的具体内容可参见第 18 章。 3.3 面试 一个比较好的面试是能够问出求职者擅长哪方面而哪方面不足的面 试。如果面试官针对求职者不足之处穷追猛打,或是炫耀自己的才能, 这是不足取的。 对于求职者而言,面试是重点环节,要守时是当然的了。如果不能 按时参加面试,最好提前通知对方。着装上不需要过分准备,舒服、干 净就好了。一般的 IT 公司对技术人员都不会有很高的着装要求。虽然着 装不要求,但精神状态一定要好。饱满的精神状态会显得你很自信。 有笔试的话(有时笔试和面试是同时进行的,即面试官会在提问后 请你回答并写下详细描述) 也无非是与应聘职位相关的技术考查或者英 , 文考查,如英汉互译等。应视你应聘职位的等级进行准备。 应聘初级职位,会针对你的编程能力和以往的项目经验进行重点的 考查。如果面试官针对你做的某个项目反复提问,那么你就需要注意了, 要么面试官在这个方面特别精通,要么就是未来的职位需要用到这方面 的技术。我们应该抱着一种诚恳的态度来回答,对熟悉的技术点可以详 细阐述,对于不熟悉的部分可以诚实地告诉面试官,千万不要不懂装懂。 不过,我们同意可以引导与面试官的谈话,把他尽量引导到我们所擅长 的领域。在 SPSS 公司面试时, 在回答完面试官单链表逆置和拷贝构造函 数问题之后,我把话题引入了我所擅长的设计模式方面,这是一种谈话

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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