方法论
1读实用书时要提出的四个问题(如何学习一门技能):认知
(1)整体来说,这本书到底在谈些什么?big what? 并没有改变多少。
(2)作者细部说了什么,怎么说的? small what? how?
(3)这本书说得有道理吗? 是全部有道理,还是部分有道理?why?
作者最终的目标,加上他建议的达成目标的方法--这要看你认为追求的是什么,以及什么才是最好的追求方法而定。
(4)这本书跟你有什么关系? 理论联系实际
赞同一本实用性的书之后,确实需要你采取行动。 照着作者希望你做的方式来行动。How
行动:为达到某种目的而进行的活动。行动目标,行动方法,行动开始时间,结束时间,行动人,行动地点,行动方式。
2技术能力水平:
2.1、发现问题、分析问题、解决问题的能力 (why what how (who where when)) 检验归纳总结 (各行各业都需要通用能力)
能够查找到问题相关的主流解决方法(方法不是唯一的),了解这些方法的工作原理并分析其优缺点。这里涉及到几个方面的能力:
-发现问题(定义问题) 根据问题现象发现问题本质,《你的灯亮了吗?》Donald C.Gause;Gerald M.Weinberg;
能够将问题(问题现象 及 问题本质)表达清楚(说清楚、写清楚)也算是一个点,
因为能够把问题表达清楚,才能够很好的利用周边资源(网络、书籍、人)解决问题
《提问的艺术》 https://lark.alipay.com/sp/securityjar/how_to_ask_questions_the_smart_way
-查找资料(快速查找并研究理解中英方式资料)google\图书馆\请教导师、老师、同事、朋友...... 这个需要加强:提高查找资料的能力和经验,提高阅读(中、英尤其是英文)理解能力
-理解和分析解决方法 《如何解题》波利亚 :做实验,验证可行性? 根据资料做实验动手能力
-实际执行能力(实践能力)及检验总结,举一反三,触类旁通。
- 信念
2.2、编程(计算机系统结构、数据结构和算法、程序设计语言、软件工程、计算机网络、数据库 参考《ACM通讯》Computing as a Discipline)
编写的程序不仅结构合理,而且运行效率和稳定性都达到产品级,具体要求是:
-能够设计合理的程序结构,熟练掌握设计模式 《架构模式》《设计模式》《数据结构和算法》《重构》 ......
-能够分析算法空间和时间等复杂度并使用工具实际测量程序的资源占用情况,并据此进行优化 《数据结构和算法》Jprofiler...
2.3、操作系统(或java虚拟机)(数据结构和算法、计算机系统结构、操作系统、计算机网络、数据库、编译原理、软件工程、程序设计语言 参考《ACM通讯》Computing as a Discipline)
操作系统是程序运行的基本环境。要了解程序的运行状态,必须首先了解操作系统。
-熟悉内存、线程等资源管理原理,并可以观察资源使用状态 如:Window任务管理器,linux top等《操作系统概念》Linux Window.....
-熟悉类或模块加载原理,并可以观察 如:JProfiler工具查看 (java虚拟机)
-熟悉虚拟机内存管理机制,并可以观察,并与C,C++进行比较(内存创建,内存释放GC,内存管理等)
2.4、文档 (读写沟通能力 语言领域)
良好的语文,思路清晰的表达、能够中英文表达
可以编写有质量的文档,具有可用的书面沟通能力。 《商务管理与沟通》《金字塔原理》......
3 如何描述模型?
要把一个数据模型描述清楚要从三个方面:
3.1 都有哪些实体,这些实体是什么意思,把术语描述清楚
3.2 实体描述清楚后,将实体之间的关系描述清楚
3.3 描述清楚数据模型工作原理(如举例子。)