一、我眼中的计算机学科的层次:
就像武侠小说酱紫。武功分内功和外功。其实这些都是计算机系的学生大学必修课程,只是在体制和大环境影响下,大多人都没领悟到什么,都是60分万岁。
①、逻辑数理层的:积分/微分/线性/离散/概率...
②、物理层上的:模电数电
③、硬件层的:计算机组成原理,微机接口,编译原理,汇编
④、OS层的:操作系统(WIN,Android,IOS...)
⑤、网络层:TCP/IP协议...
⑥、组织层:数据结构、算法、设计模式、框架设计(MVC,MMVM...)、架构
⑦、载体层:编程语言,从编译到解释(C/C++/JAVA/JS/LUA...)
二、根据不同的工作需求,都有一定的偏向:
例如做硬件层开发,嵌入式之类的肯定偏向物理层和硬件层居多,做应用层开发的大多偏向于上层接口居多,等等。诸如此类。
三、砌积木和做积木的区别:
通常一般性的开发,诸如现在很火的移动开发。大多数情况下都是在砌积木。底层调用已经被SDK的作者封装好。就写几段顶多初中数学水平的逻辑代码,然后黏合别人做好的API,或者第三方库。实现该有的功能,把他做成领导想要的形状就大功告成。市场上的开发者良莠不齐,绝大多数都属于这种情况。所以奉劝各位打算入行的朋友,如果打算在这行长做,不能只看表面,打好基础很重要。
四、针对这种系统应用层的开发者,我认为面试主要分这几个方面:
①对载体语法的熟练
②对系统api的熟练程度
③对开发工具&辅助工具&第三方库的熟练程度
③代码规范&设计模式
④算法功底
⑤对各种底层实现(系统&网络…)的了解程度
程序、数学、艺术。应该用一种数学的思维去看待编程,你会发现更多...
时间: 2024-10-09 02:54:27