学习C和 Java 那个比较好和为什么

以下分三个方向讲解,每个方向都是一个学长独自撰稿。 (一)& C语言篇 C语言求职血泪史 华为(实习):机试、一面、性格测试被鄙视、优招被鄙视、普招被鄙视 锐捷:笔试、面试莫名其妙被鄙视 创新工场:笔试、一面、二面、offer 阿里巴巴:笔试被鄙视 cvte:网测、面试没去 大众点评:网测悲剧 IGT:笔试、一面、二面、offer 烽火众智:霸笔、等两个小时面五分钟、offer直接拒 酷派:笔试、一面、二面莫名其妙被鄙视 网易:简历被鄙视 暴风影音:笔试被鄙视 去哪儿:笔试、一面、二面、offer 百度:研发笔试、研发一面、运维霸一面、运维霸二面、运维三面、研发二面、运维offer、结束 深信服:笔试、一面对喷、二面不去 Thoughtwokrs:笔试、一面、二面、小组面没去 新浪:笔试、一面、二面、座谈、offer 腾讯:笔试、一面霸、二面霸、三面、口头offer 面试和笔试主要基础来源于: C和指针(加大量的编码经验)、 数据结构与算法(严蔚敏或者李春葆(建议新手))、 程序员的自我修养、 计算机网络自顶向下(强烈推荐,看完后看看TCP/IP详解)、 现代操作系统原理、 鸟哥的Linux私房菜(基础篇+服务器篇)、 算法导论(看不懂+没看完)。 + 编译原理(我没看) 找工作前冲刺书籍:(前面基础重要,这个只作冲刺用) 编程珠玑、 编程之美、 剑指offer、 程序员面试宝典 总结:学校做项目、实习都好,一定要注重夯实基础,基础是内功,语言是招式,内功愈深,方能招架各种笔试、面试。以上书籍不管如何,请熟悉再熟悉。真的非常重要。 (二)C++篇 C++求职血泪史: 锐捷:笔试直接挂,C++招的人貌似不多 CVTE:网测直接挂 人人网:一面挂 阿里巴巴:笔试直接挂 大众点评:网测直接挂 深圳有方:一面直接挂 深圳大拿:一面等了一两个小时,面试就5分钟左右 思特沃克:一面没去 美团:笔试直接挂 IGT:一面、二面、offer。 烽火众智:霸笔,笔试直接挂 百度:一面、二面、三面、offer 去哪儿:一面挂 华为:机试、一面、性格测试、综合面、offer(实习生招聘) 360:霸笔,一面、二面、三面、offer 暴风:笔试直接挂 深信服:一面挂 恒生电子:一面挂 新浪:笔试直接挂 腾讯:霸面,一面、二面、三面 C++方向推荐书籍: MFC:深入浅出MFC,window程序设计,MFC六大仿真。这个问得很少,基本上不用看。 先看C++,再看STL,最后看设计模式。 C++:C++ Primer,C++高级编程。有时间主要看C++Primer,这本书讲得很详细了,可以多看几遍,后面那本书,想了解得更多,可以看看。 STL:STL源码剖析。这个问得有点多,主要把各种容器的底层实现机制以及优缺点掌握清楚,这个问题经常问。另外,大数据处理经常用到hash_map, hash_set,hash_map,hash_set和一般的基于红黑树的map,set之间的对比,以及红黑树和平衡二叉树之间的对比问得比较多。 设计模式:大话设计模式,Head First设计模式,设计模式可复用面向对象软件的基础。没有时间,这个可以少看,稍微了解一下,问得不多,也不难。 数据结构:李春宝,数据结构与算法(c++)版,剑指offer,程序员面试一百题,算法导论(循环不变性,动态规划,贪婪算法),编程之美,编程珠玑。 先把基础的数据结构与算法(c++)版搞得非常熟,对于数组,链表,栈,队列,字符串,二叉树,查找,排序要非常熟,最好多写几遍。其他的在找工 作之前两三个月内看看。 计算机网络:tcp/ip详解卷1,计算机网络自顶向下。重点看tcp的相关章节。 C:C陷阱与缺陷,程序员的个人修养,C语言深度解剖。重点看程序员的个人修养,C语言深度解剖后面有大概二十道题,能够基本上做出来就不用看了。 操作系统:现代操作系统 Andrew S. Tanenbaum(linux内核0.11,linux内核情景分析)。要了解原理的话,前面那本书讲得很详细。操作系统的话, 线程间通信和进程间通信问得比较多,再就是进程空间,内核态,和用户态也可能问一下。 linux:UNIX环境高级编程,UNIX网络编程。有时间可以看看,搞上层的话基本上可以不看。 大数据处理:很多大的网络公司都会问,。 (二)& Java Web Java求职血泪史(暑期完全没有准备!!!): 锐捷:参加两场笔试直接送 创新工场:笔试直接送(非常感谢创新工场当头一棒,让我意识到需要好好 准备基础) CVTE:网测、一面、笔试没参加 阿里巴巴:笔试、一面、二面送(非常感谢阿里巴巴面试官的指点,让我了 解如何好好准备面试和学习Java Web) 大众点评:网测直接送 美团:笔试莫名其妙送 IGT:所在教室考场纪律太差直接走 烽火众智:霸笔被坑(强烈鄙视这种坑人行为) 百度:笔试、一面、二面、三面、offer 华为:性格测试、机试、一面、二面、offer 网易:笔试直接送 360:笔试直接送 淘米:笔试、面试没参加 高德导航:笔试、面试没参加 TCL:笔试、一面没参加 华讯:笔试、面试没参加 新浪:笔试送 腾讯:笔试、一面、二面立场不坚定送 推荐书籍: 推荐理由:C语言与算法是必须的防止笔试去送。 《C Programming Language》 Brian W. Kernighan/Dennis M. Ritchie 《C 和指针》 《编程珠玑》 《数据结构与算法分析》(如果能力较强有充分时间推荐《算法导论》) 推荐理由:计算机网络(偏应用)和操作系统熟悉能较好应对面试 《现代操作系统》(适当了解Linux《鸟哥的Linux私房菜:基础篇》) 《计算机网络:自顶向下方法》 《HTTP权威指南》 推荐理由:Java必须掌握的基础以及进阶 《Java语言规范》 《Java核心技术》 《Java编程思想》 《Java与模式》《设计模式》 以及JVM基本原理(例如GC,Class Loader等等) 推荐理由:临时抱佛脚,需要知道的一些面试经典题目 《剑指Offer》《编程之美》 关于实习、竞赛与项目: 首先不论实习、竞赛与项目主要参与其中哪一个,必须夯实基础把推荐书籍认真研读。 其次通过多次与各大互联网公司技术面试官交流,得到的结论是三者的重要程度是实习&竞赛&项目。如果在找工作之前有去给力的公司实习的机会一定 要珍惜。 再次学校项目应该针对性参与,做自己最感兴趣同时最愿意深入研究的方向,防止项目经验多而不精。 最后一定要保证有自己思考的时间和与小伙伴交流的时间。 致谢: 感谢求职过程中一路陪伴的小伙伴们,以及给我支持的师兄,还有那些鄙视我让我成长的公司以及那些给我机会的公司。 P.S. 每个人有不同的特质,知识面可以广泛但一定要精通一个点例如(网络、操作系统、C/C++/Java)。 每个人三观不同,很荣幸身边是一群诚实勇敢的小伙伴。
阅读(...) 评论()查看:6862|回复:12
学了C语言,发现自己只会做些题,想深入学习C,怎么办?
现在正在学Java,还是其他知识,该怎么安排时间?
还是就是学习的时候总是定下心来,急急躁躁的,求个定心的法子。
拜求大虾们解惑,谢谢啦!:loveliness:
想深入学习C,就去看LINUX内核,那样你就可以知道一些学校永远不会教你的东西(本人也是阿谭的毒害者之一)。
学JAVA好,可以开发很多应用,最好去开发ANDROID手机的程序。
两者的面向方向不同,C主要是做系统做底层比较多,JAVA面向应用。不过也没有绝对的,C利用GNOME也可以开发出美轮美奂的程序,也有人用JAVA开发了一个操作系统。
解说的很精彩,辛苦了哈!
程序设计,算法为王。
提出问题;分析问题;确定算法;画出流程图;编辑程序;调试程序;建立文档资料。
大家在开发板块贴代码的时候,请使用“插入代码”的功能。
[code]int main(){return 0;}[/code]
使命的召唤-全能IT艺术家 ...
说的好,搞应用就学学JAVA,要是玩系统,还是要靠C混的:lol
一剑舞动惊四方,IT本是我所长 (R)丁胖胖
2种语言不冲突,正如楼上2为所说,他们工作在不同的层面。做个小东西可能用一个语言就够了,但是大系统设计的东西很多,该用什么就用什么。学校里学的东西是基础,不能忽视,如果做c的开发,操作系统、数据结构和算法是基础,你水平越高就会觉得这些东西有用。
积极参与解答讨论,加油!
各有所长吧 c是偏向于底层应用的
编程语言是一种工具,不要想象成一种负担或者烦恼。接触的编程语言多了,你会发现学什么也就那么一回事。编程语言没有优劣之分,并没有哪种语言别人说他优秀就一定要去学。实实在在的学号算法基础就好了,不然学了那么多语言连链表、树、散列都不知道,那可就杯具了~~:(pdd_15):
学习是一种快乐,赞同!
感觉JAVA对于一般人来说更实用
精学一门即可,重要的是在学习中找到乐趣
精学,乐趣,我很赞同!
:) 谢谢各位大哥解惑。
学那一个都可以呀,但是语言不是绝对的,关键是思想,工作需要用什么就用什么
积极讨论!
一般来说呢C的使用主要是考虑到底层的操作和系统的效率提升方面的,其实C才是当前的编程语言的母亲,而JAVA呢,是比较上层的语言,也就是面向应用的,它的封装使得开发效率提升了,但是系统性能却不如C开发,C开发这个难度比较大,不是自己写个简单的试卷能够达到的。真正要学习C得往深了去走,没有几年很难看到成果。
学习JAVA呢它的学习过程也不是轻轻松松能够上手的,我就是亲身的体会。
要学习JAVA呢建议跟着本版置顶高亮的版主推荐的走,我就是那么学的。
你加油吧!我看好你!有问题多来论坛上讨论哈!
积极参与讨论,不错,加油哦! ...
助理工程师
学习C和java不冲突,可以一起学,时间上安排完全看自己了,别人给你安排也是不现实的,首先建议你先了解C能做什么,怎么做,java能做什么,如何做,都了解了你就知道自己想怎么学了。
初级工程师
学任何语言么,C是基础,学C的话汇编这块的知识不可少,否则什么java C#则是绣花枕头一包草,不可否认也能有所造诣,但期间的乐趣却是少了很多内在的东西。。。0}{else}no-cache{/if}" />
Java和c语言间的差距,谁更有优势
Java和c语言间的差距,谁更有优势
牵手一起梦 发表于
当前没有评论,快来抢沙发
Java和c语言间的差距,谁更有优势
牵手一起梦 发表于
  一、Java开发问题
  目前开源社区在Java语言的基础上,做了大量的工作,人都说人多力量大,特别是解决服务端的并发的问题,在这点上正好移动互联网的爆发的时机交叉在一起。Java在开源社区这些年的积累优势有了全面的体现,因为Java在集成性上面比底层语言高了多少框架,也不是c/c++实现不了,最主要在当前经济快速发展的今天,快速的见到产品的雏形才是第一位的,而不是让你封闭起来没完,人力和时间都是生命线。
  二、Java的语言差距
  Java在效率上面和底层语言c/c++的差距已经不是那么明显了,主要原因还是硬件设备的升级把以前底层语言的效率上的优势抹杀的几乎不值一提,这使得Java最大的弱点被无限制的缩小。
  三、Java设计优势
  Java在本身设计上面占了很多优势,开发者不需要太多的管理内存的情况,开发成本也变低,同时开源的社区以及大型公司提供了现成了调试工具和类库在调试性能和内存方面提供了极大了的便利,这些都不是底层语言能比拟的。
  四、Java应用无处不在
  目前大公司对Java的支持也是不遗余力,特别是google推出的安卓系统,无论在底层框架上面还是上层应用上面Java应用无处不在,使得原来在客户端很薄弱的Java有了无穷的生命力。甲骨文自从收购了太阳公司也没有停止对Java语言的sdk的升级,以及目前大型公司不停在Java基础上面构建大型的框架,这在一定程度上促进了Java的兴盛,有了大公司的支持,服务能跟上带动了Java盛行。
  五、Java强势
  为什么Java越来越强势其实说了这么多的理由,不是贬低c/c++的意思,学习c/c++周期长,对于想要深入了解计算机的小伙伴来说,想要志于做底层架构师的人来说真是必备的,所以学习的过程中大家根据自己的实际情况来选择学习哪种语言。C/C++/JAVA那个更适合作为入门语言?
稿源:大学生编程指南
对于初学编程的人来说选择一门合适的编程语言是很重要的,这关系到我们将来的编程道路该怎么走。甚至还会影响到我们以后会不会继续走这条道路。在选择编程语言时大家听得最多的语言应该就是C/C++/Java了,这三个是目前学习编程者首选的语言。那么这三个中哪个对于初学者学习更合适呢?下面小编就为大家一一讲述。C语言它起源于20世纪70年代,是大学里面计算机专业学的第一门编程语言,是一门使用非常广泛,通用的编程语言,它深远地影响了其后的几乎每一种语言,可以说它是后续流行的编程语言的祖宗。C语言是面向过程的语言。面向过程的语言对于初学者来说相对容易一些,容易理解,只需要学习它的语法就可以轻松学习。另外C语言也是使用比较广泛的语言,会了它之后不用担心找不到合适的工作。退一步来说如果我们以后想学习其他编程语言,如果学会了C语言,对于我们以后学习其他语言会有很大的帮助。C++语言它是正宗的C语言的嫡系,由C语言发展而来。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程,支持类:类、封装、重载等特性。C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。虽然它有众多的有点,但是由于它既包含C语言的最难学的指针又开始支持面向对象的思想,初学者在学到这两点时往往就会受到打击。所以小编不推荐初学者选择它作为入门的语言。Java语言Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator
overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。目前比较火爆的安卓应用程序(apk)也是用它开发的。往往有人会问学习java之前要不要学习C语言,答案是否定的。java是一门独立的语言,可以单独进行学习,也是初学者学习面向对象思想的首选。本文原创,转载请联系我们,谢谢配合。各位朋友如果有兴趣或是想与我们一起学习计算机技术(软件开发),请大家关注
我们的微信公众号:程序员互动联盟(coder_online);我们这里有java高手,C++/C高手,windows/Linux高
手,android/ios高手,还有一些你可能不知道的你感兴趣的事。
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页其实学哪个都无所谓,你这时候学的关键不是语言,而是面向对象的思想。语言是一条一条的规则,而思想则是大脑里的一些奇怪的东西——重要的东西。我是做J2EE企业架构的,推荐你两本书,Buce Eckel写的《Java编程思想》、《C++编程思想》,二选一。一定要读到3遍以上:第一遍可能朦朦胧胧,看似容易,能了解个大概,配合着做一点点练习;第二遍应该有很多收获和进步,弄懂面向对象;第三遍——看来还有很多要学的东西,先把基础打好~~拼命练习啦~编程不是看书看出来的,是写代码写出来的
其他答案(共3个回答)
,所以我能给你一点建议.我们是先学的C,后面是C++.最后是选修的JAVA.我看来学校这样安排有一定的道理,在C后学C++可以把你的C的掌握实体话,面对对象的用法和C虽然有相同的地方,但是现在很多地方都用的C++,它的简便编程还是很强大的,对你学习C后马上就能用上.我后来虽然是选修的JAVA,但我不是很喜欢这个语言,我只能按照我的一些喜好给你建议了哈
C与Java从编程思想上来说完全不同.
Java是纯面向对象语言,用虚拟机解释执行,速度非常慢,大约是同等C语言程序速度的1/60。好处是程序执行和操作系统无关...
C语言是基础,我老师说的。我去年学完了C语言。现在学java。如果你愿意我可以把我知道的告诉你。有什么问题我近我的能力帮你。C++是比C高一级的。有的程序只能C...
当然可以的,虽然我简单的学了一下C,但对学习JAVA并没有什么大的影响,最多就是在学习算法时轻松了点点点个,所以我建议你去买一本清华大学出版社出版的JAVA2实...
C++跟C语言不大一样,可以在没有学C语言的基础上直接去学习C++的,C++是面向对象程序设计,主要引入了一个类的概念.
VC++是要在C++语言的基础上,学V...
学习java之前,不必学习其他任何编程语言,当然有一点c++语言的基础,会更好上手java,但是我倾向于这样的观点:如果没有学过c++,学习java之前,最好不...
答: 在Adobe acrobat professional(确认不是adobe reader)-菜单-编辑-首选项-因特网,“在浏览器内显示PDF”,去掉勾选,此时...
答: 它在电缆电视的基础上,将分配网络的主干部分改为光缆,在各个服务节点处完成光电转换,再由同轴电缆将传输信号送到用户家里,可有效地实现Internet访问、电视点播...
答: 用代IP的QQ就可以看
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

 

随机推荐