user-0 提问: 新人求助。

回复:
user: user-1
content: 【转自一个前辈的博客，忘记名字了，抱歉】1. c、c++相关 C语言问题一般都是在笔试题中出现，面试题中问的比较少。首先是下面这三本经典的C语言书： 《C和指针》 《C专家编程》 《C缺陷与陷阱》 这里还要极力推荐的是： 《C语言深度剖析》 这本书是国内人写的，重点讲解了C语言里的一些晦涩的问题。 上面这几本书应该基本上就可以熟练掌握C语言的各种问题了，笔试题基本都能从容应对。 下面首先推荐三本C++相关的书： 《深度探索C++对象模型》 《Effective C++》 《STL源码剖析》 我觉得这三本是C++方向找工作必备的，这几本看熟了（我觉得至少认真看个3、5遍吧）至少可以搞定90%的C++笔试面试题。 下面这两本我也极力推荐： 《More Effective C++》 《C++反汇编与逆向分析技术》 如果这两本书也掌握了我觉得面试中一般没有什么C++问题能难倒你了。 当然还有很多其他经典的C++的书，有精力都可以好好去读一下，我就不一一列举了。 小结：C、C++知识是很重要的，是绝大数公司笔试面试中重点考察的知识，除了Google、微软等一些公司面试中基本不考察编程语言外，其他大多数公司都会把C++作为重点考察的内容之一，我面过的公司：百度、阿里巴巴、腾讯、网易游戏、雅虎等等都会问C++问题，当然具体问不问也可能跟你的简历、面试官的喜好有关。 2. 算法、数据结构相关 谈到算法自然少不了圣经了 《算法导论》 当然这本书我只是偶尔翻翻，但是我觉得这个应该从头到尾认真看一遍、好好做一下练习题。 下面是几本跟面试中的算法最相关的一些书籍： 《编程珠玑》 《编程之美》 这两本是最经典的了，这里面注重的是解决问题的思路，看的时候里面的问题要认真思考再参考解答。 下面两本是对具体的面试题做一些解答，同时有详细代码实现的。 《剑指Offer》 《Cracking the coding interview》 上面这四本我觉得都是必备的，里面的题目解决思路要数量掌握，能够举一反三、解决相关变种问题。同时，里面的题目，应该都要在纸上实现，然后再在电脑里实现、测试。Bug-free是面试中重点考察，面试官也会经常让面试者写测试用例，所以，平时我们要养成这些好的习惯。 下面也推荐一本经典书吧， 《算法艺术与信息学竞赛》 当然不适合算法薄弱的人看，这一般是ACM大牛的家常饭。不过，能看多少是多少，总归是会有收获的。 小结：算法是重中之重了，各个公司都把算法作为考察重点，甚至有的公司只考察算法。应该早点开始积累，比如多刷一下POJ，LeetCode等等，后面也会提到这些在线编程网站。 3. 数学相关 这方面我看的也不多，当然，我觉得这几本都很重要，对笔试面试都会很有好处的，而且这方面的内容笔试面试中考察的也很多。 《组合数学》 《具体数学》 《数学之美》 4. 操作系统相关 操作系统也是笔试面试考察的重点，我看的相关书的也不多，主要推荐下面两本吧 《深入理解计算机系统》 《操作系统精髓与设计原理》 我没有linux相关经验，但是我觉得linux内核应该好好研究一下，这方面我不懂，就不多说了。 我稍微研究过一点点windows内核源码，这里推荐 《Windows内核原理与实现》 还有和windows编程相关的 《Windows核心编程》 5. 网络相关 我基本就只看了一本 《TCP/IP详解卷1：协议》 6. 软件开发、设计相关 首先是设计模式，我觉得设计模式是很重要的，对以后工作也很有好处。当然面试中考察的不是特别深，一般就是问一下你熟悉的模式是哪一个，然后稍微问一下，估计Singleton是问的最多的。我还是极力推荐大家熟练掌握设计模式。下面这两本书配合一起看，效果相当好 《Head First设计模式》 《设计模式—可复用面向对象软件的基础》 然后是 《代码大全》 这个就不多说了，也是必备的。 我再极力推荐两本重构相关的书 《重构—改善既有代码的设计》 《重构与模式》 这两本可能对面试没有直接的帮助，但是应该会有潜移默化的影响吧，对以后工作肯定是相当有好处的。 7. 搜索引擎 这个不是必备的了，但是我为了丰富一下简历，也看了几本书，主要两本吧 《搜索引擎—信息检索实践》 《这就是搜索引擎—核心技术讲解》 这两本配合着看，就可以把搜索引擎原理、相关技术了解得差不多了，我简历上写了这个，面试中也经常被问到，应该是可以加分的。 8. 数据库 数据库也是重要的内容之一，尤其是数据库底层实现相关的一些东西，索引啊等等。 首先是大家最熟悉的 《数据库系统概念》 还有一本很好的，就是讲解数据库底层内容的 《数据库系统实现》 9. 其他 这里主要是推荐一本《垃圾收集》，这个算是比较底层的东西了，但是这个绝对的会给面试加分，我也很受益于这一点，同时可以稍微研究一下JVM的垃圾收集机制，可以参考《深入理解Java虚拟机》以及一些相关文章。 还有《CDN技术详解》，我觉得也不错，可以很好的了解一些大型网站使用的一些技术等等，面试中也常常会问到一些大型的网站系统设计问题，负载均衡等等。 二、推荐网站 1.LeetCode http://leetcode.com/ 这个网站里有很多经典面试题的讲解，当然最主要的是它的OJ系统，里面有100多道题目，和ACM OJ不同的是，这里面的题目都是来自于面试题，所有更有针对性，建议至少刷3遍，我刷了差不多5,6遍，多刷几遍不丢人。 2.POJ http://poj.org/ 这是北大的OJ，leetcode满足不了你，就可以来这刷了，如果还满足不了就找国外的OJ吧，USACO、URAL等。 3. NOCOW http://www.nocow.cn/ 这里也有不少acm相关的资料，推荐看一下USACO和URAL的题解。 4. Careercup http://www.careercup.com/ 国外著名的帮助找工作的网站，里面有很多Google，MS，FB，Amazon等等名企的面试题，有精力就一道一道做吧。 5.CSDN http://www.csdn.net/ 有不少人的博客还是不错的，总结很多笔试面试相关的东西，比如v_JULY_v。也常关注一下热门博客。   等学了框架就可以写点界面程序了，现在不知道能干什么是因为，黑洞洞的窗口，很枯燥。通大一新生，共勉。

user: user-2
content: 找个实际的需求去做！光看书看代码是不够的，首先必须要动手写。其次，光写几个练习题程序也是没意义的，必须找个实际的需求去解决，才能让你真正找到写代码产生效用的感觉，然后才能步入边写边学、不会就查手册文档的正轨！ 我给你提供个需求（我读大一时写过的）：写一个c程序，读取一个文本文件里的数学公式（简单的四则运算加一些三角函数），以及对应公式里各个变量的几组参数，算出每一组的结果。这程序的实际用途就是解决物理实验课交报告的作业问题。

user: user-3
content: 书后面不都是有练习题么，做个什么管理系统啊，聊天系统，科学计算器..也可以做些简单的游戏，比如贪吃蛇，2048等等，好多呢，网上资源很多的~如果看代码看不懂，最好找个人带你一下，或者自己多看书，触类旁通，加油！

user: user-4
content: 最好有具体的方向。此前网上有各种上机题，可多做一下。

user: user-5
content: 同迷茫中= =，哎，有啥好的书能推荐下吗

user: user-6
content: C语言能做底层开发 大学期间，学C主要是为了对编程有一个了解，如果你想学好C，数据结构与算法等等，要看的东西有很多