对于计算机学科的理解

一、我眼中的计算机学科的层次:

 就像武侠小说酱紫。武功分内功外功。其实这些都是计算机系的学生大学必修课程,只是在体制和大环境影响下,大多人都没领悟到什么,都是60分万岁。

①、逻辑数理层的:积分/微分/线性/离散/概率...

②、物理层上的:模电数电

③、硬件层的:计算机组成原理,微机接口,编译原理,汇编

④、OS层的:操作系统(WIN,Android,IOS...)

⑤、网络层:TCP/IP协议...

⑥、组织层:数据结构、算法的构造和规划、设计模式、框架设计(MVC,MMVM...)、架构

⑦、载体层:编程语言,从编译到解释(C/C++/JAVA/JS/LUA...)

 

二、根据不同的工作需求,都有一定的偏向:

例如做硬件层开发,嵌入式之类的肯定偏向物理层和硬件层居多,做应用层开发的大多偏向于上层接口居多,等等。诸如此类。

 

 三、砌积木和做积木的区别:

通常一般性的开发,诸如现在很火的移动开发。大多数情况下都是在砌积木。底层调用已经被SDK的作者封装好。就写几段顶多初中数学水平的逻辑代码,然后黏合别人做好的API,或者第三方库。实现该有的功能,把他做成领导想要的形状就大功告成。市场上的开发者良莠不齐,绝大多数都属于这种情况。所以奉劝各位打算入行的朋友,如果打算在这行长做,不能只看表面,打好基础很重要。

 

 四、针对这种系统应用层的开发者,我认为面试主要分这几个方面:

①对载体语法的熟练

②对系统api的熟练程度

③对开发工具&辅助工具&第三方库的熟练程度

③代码规范&设计模式

④算法功底(1、常用算法的使用“查找”“排序”等;2、算法的设计和动态规划:出一道题让你设计一个适当的算法求解)

⑤对各种底层实现(系统&网络…)的了解程度

 

程序、数学、艺术。应该用一种数学的思维去看待编程,你会发现更多...

 

 

posted @ 2016-04-14 00:23  ValenGor  阅读(714)  评论(0编辑  收藏  举报