首页 新闻 赞助 找找看

半路出家的程序员如何提高自己的理论基础

0
悬赏园豆:5 [已解决问题] 解决于 2014-02-19 09:59

我不是计算机专业的,自学做了.net开发,但是每次面试感觉自己的知识不够全面,有什么办法能够快速的方法解决这问题

baoj2010的主页 baoj2010 | 初学一级 | 园豆:102
提问于:2014-02-18 10:03
< >
分享
最佳答案
0

说说我的建议,编程提高分两种,一种是编程思想,一种是编程技术。这两都没有任何联系。

您说的知识面不够广,可见是编程技术。

比如:要你使用一个英语单词,创造一个句子,假设你这个英语单词都没见过,你先要去认识这个英语单词,学习这个英语单词的用法,及词组。最后融会贯通,在各种场景下都能美妙地使用。

提高编程技术就好比学英语单词,遇到一个陌生的技术需要去学习它,然后多看它的用法,最后在编程中融会贯通。就这么简单。

鄙人不才,说得不对的地方还请大神们指教,如果觉得恰当,请参考。

收获园豆:5
唯美菠萝 | 菜鸟二级 |园豆:282 | 2014-02-18 11:28
其他回答(6)
0

没有办法可以快速的解决这个问题,这需要日积月累

dudu | 园豆:31075 (高人七级) | 2014-02-18 10:40
0

多看书,多做东西

li-peng | 园豆:954 (小虾三级) | 2014-02-18 11:06
0

1.进行系统学习C#基础,如泛型、委托、反射等

2.1 b/s理解asp.net管道周期,对webform和mvc整体大致了解

2.2 c/s不熟悉,就不多说了

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-02-18 11:30
0

答:多读书,多看报,少玩电脑,多睡觉

哇~怪兽 | 园豆:622 (小虾三级) | 2014-02-18 14:53
0

要坚持的话,就是找个软件专业的教科书目录,

把那些教科书都看一遍.然后你跟专业的人员也差不多了

吴瑞祥 | 园豆:29449 (高人七级) | 2014-02-18 16:12
0

先介绍下背景,我本科专业是硬件转软件方面,所以一开始算法基础比较差,没有做过系统设计,为了能得到好的面试机会,我一直都有努力准备,还在网上关注了各种能提高编程能力的攻略,我觉得打好基础的前提是要找到优质的学习资源,这样才能事半功倍,切忌在网上搜一些质量参差不齐的题去练习,有的连答案都不知道对不对,更别提对面试有帮助了。
我对比了几家刷题的网站,最后选了Lintcode(http://www.lintcode.com/)。题目基本上涵盖了所有IT公司面试会面到的算法题,推荐给想刷题的小伙伴们,建议用这个网站的伙伴们好好利用它的筛选功能,这样做你的知识结构能得到系统的梳理,按照难度、还有算法数据结构的类别来源去做,还有按照公司的分类。这些标签都清晰的标在每道题上,一目了然,话说一个IT属性的刷题网站界面做的这么美观我也是很服气。
扯远了,接下来说说我当时是怎么去小米面试的,作为一个米粉,给小米投递简历的时候还是小小激动了下,没想到第二天下午就收到了面试短信。

一面面试官看起来比较好说话,简单自我介绍了一下,就开始问项目经历中的细节,我觉得他问的很细,之前有面经上说小米会对项目经历深挖,幸好我有做准备,看来项目经历他们很重视啊。然后是写代码,矩形里写满了数字,给一个写了1的点,返回周围用1能联通区域的大小。我是用树做的。还有一道题是两个已序数组A,B,将两个数组进行归并,并将结果存放在数组B中,B足够大。例如A={1,3,5},B={2,3,5},结果B={1,2,3,4,5,6}。这一题比较简单。感觉一面沟通的挺顺畅的。

没多久接到了二面通知,我是比较爱纠结的一个人,通过一面反而又高兴又患得患失,怕进不了小米,毕竟技术岗,而且我是后面自学提高的,不过后来想想自己这么久以来刷的题也不是白刷的。二面的题目大概是这样的,一个数组中有100w个整数,这些整数的范围时1~99999,要求打印出重复的数字。这道题我当时没答出来。然后是一道二分查找的题,在一定精度内求根号n,n>=1。

三面印象最深的是在白板上写代码,感觉很紧张,因为一举一动都有人在看。三面太紧张了,忘了题目的细节了。。就记得问了链表的各种经典问题判断环相交结点等,然后是判断一个不规则多边形一个点是在多边形内还是外。还问了操作系统线程状态图线程进程区别虚拟内存cpu调度cache替换算法等。计算机网络OSITCP/IP三次握手四次握手,我答了之后面试官又反复追问我,问的很细。

能到三面我已经很开心了,总体感觉,小米的技术岗很重视算法和思路。技术岗我投了很多,面试也参加了好几波,之前一直在刷的Lintcode给了我很大的信心,面试时看到考察的题和知识点自己熟悉,那感觉超级棒,建议大家刷题还是要贵精不贵多,优质的算法题吃透一道可以顶你做很多道题了,那题要怎么吃透呢?我的办法可能比较笨,但是很有效!!就是对比优质的答案,去看自己差在哪里,思考怎么改进。为了找到好答案我也是搜罗了好久,最后一直反复用的就是下面这个这个查参考答案的网站了(http://www.jiuzhang.com/solutions),除了比较全以外,还因为它每道题代码行数都是最少的,简洁易懂,毕竟你如果代码写得太复杂了相信面试官也不会想和你共事的。里面有一些答案真的不错,我都直接当模板套到各种题目中,比如quick sort的答案。

因为我之前也参考了很多前辈的面经,所以也把自己记得的题写下来分享给有需要的人,怕自己忘记求职路上做的努力,记录下我的刷题和编程进阶之路哈哈,攒人品攒人品!

程序人生123456 | 园豆:202 (菜鸟二级) | 2017-05-02 23:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册