• <small id='00hndshq'></small><noframes id='98197j8w'>

    • <legend id='tpp49edo'><style id='fmiulwbr'><dir id='ztrxvxbu'><q id='mjf0ux5d'></q></dir></style></legend>

      <tfoot id='bks3wgwd'></tfoot>
        <tbody id='wsoi376t'></tbody>
      <i id='l3j2f0u9'><tr id='cy9t5rej'><dt id='eq223nv1'><q id='sxh7veea'><span id='a11qup33'><b id='m8hx9ari'><form id='0ti89psg'><ins id='d4ni0n9m'></ins><ul id='3ii490ca'></ul><sub id='bgb1tw2k'></sub></form><legend id='cchlshii'></legend><bdo id='ugjsn3k5'><pre id='po5z7vo4'><center id='aj33rf0l'></center></pre></bdo></b><th id='yiu302qg'></th></span></q></dt></tr></i><div id='ajvrx60m'><tfoot id='34c8fs8s'></tfoot><dl id='m6ggk5tz'><fieldset id='srrswbo8'></fieldset></dl></div>
    • 网站建设公司当前位置 : 网站建设公司 > 知识普及

      软件开发中常见知识总结

      发布时间:2021-08-31 21:20   浏览次数:次   
      一.编程语言(以C++为例)
       
                基础部分:
       
               //基本类型,复合类型,表达式,关键字,函数,头文件
       
                 基本类型:
       
                             bool,  char,  wchar_t,  char16_t, char32_t
       
                             short , int ,long,long long ,float, double ,long double.
       
                  可能大家觉得简单,没什么问题。
       
                  1.上述基本类型在32/64位系统上求sizeof大小。
       
                  2.上述基本类型取值范围,signed和unsigned溢出如何处理。
       
                  3.类型之间如何转换,精度如何。
       
                  4.类型在计算机上的储存方式。
       
       
       
                     复合类型:
       
                            引用& :  为对象起另外一个名字。  在C++11中增加了右值引用(rvalue reference)
       
                            指针*  : 指向另一种类型的复合类型。 函数指针,指针函数,数组指针,指针数组
       
                            指针和引用区别
       
                            struct   union  enum的使用
       
       
       
                      表达式:
       
                                 常量表达式,值不会改变     const    constexpr 修饰
       
                                关系,赋值,比较,移位操作符的优先顺序与结合顺序
       
                                sizeof 与strlen的使用
       
                               sizeof()(基本类型,空结构体,空类,虚函数,static修饰的变量,字符串,指针,数组,作为参数的数组)
       
                                auto 和decltype   C++11中增加
       
                                 内存对齐原则
       
                        关键字:
       
                                          const和static
       
                                          const int *p;     int  const   *p ;    int  * const  p; const修饰函数,成员函数,形参
       
                                           static 局部变量,全局变量,函数,成员函数等
       
                                            violate和explcit
       
                                            解释作用
       
                            函数:
       
                                    内联函数与#define
       
                                   递归理解
       
                                     参数传递方式:值传递,引用传递,指针传递
       
                          头文件:
       
                                    #include<> ""       
       
                                    #define    
       
                                    #ifdef   #ifndef    #endif   作用
       
                                                        
       
                         中级部分:
       
                               .内存管理:运行一个程序,所有变量和函数存放的内存地址在哪?
       
                                堆和栈的区别
       
                                new  delete    malloc  free   
       
                                c++四种强制类型转换:dynamic_cast ,static_cast, const_cast,reinterpret_cast
       
                                 类,空类的大小,空类有哪些默认类成员函数(构造,析构,拷贝,赋值,取址)
       
                                 类初始化列表顺序
       
                                 友元函数
       
                                  构造,析构函数重载
       
                                 构造函数与析构函数调用顺序,构造顺序: 先调用基类构造函数,再调用成员类构造函数,最后调用 本身 的构造函数,析构顺序相反
       
                                  构造函数中可不可以抛出异常?析构函数呢?
       
                                 构造函数和析构函数能不能是虚函数?能不能调用虚函数? 
       
                                重载运算符,哪些不能重载?
       
       
       
                         高级部分:
       
                              浅拷贝和深拷贝
       
                             虚函数实现机制
       
                            C++对象内存模型分布
       
             内存泄漏如何检测
       
                             对内存池的理解
       
                       C++11新特性:auto/decltype  序列for循环   Lambda表达式   变长参数的模板  智能指针shared_ptr,unique_ptr,weak_ptr
       
                STL 序列式容器(a-v-d-l-fl),关联式容器(set/map,multi),无序容器(unordered_set,map,multi)
       
                      特殊容器(stack,queue,pq,bitset)迭代器,算法  仿函数(函数对象) 迭代适配器(adaptor) 空间适配器(allocator)
       
                     Windows下的内存管理
       
                      Windows消息机制的流程.
       
                          常见类库的使用:STL,MFC,BOOST
       
                     参考书籍《C++ Primer Plus》《C++ Primer》《STL标准库》《Effective C++》《深度探索c++对象模型》《STL源码剖析》本本经典
       
             ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
              二.数据结构和算法
       
               链表(单向链表,双向链表,循环链表),判断链表是否有环,链表反转,链表逆序输出,两个链表第一个公共结点
       
              队列和栈,两个队列实现一个栈,两个栈实现一个队列
       
               字符串   常用字符串处理     字符串匹配 KMP算法
       
           树   二叉树前序 ,中序, 后序, 层序   二叉树镜像   二叉树 树 森林之间的转换   Huffman
       
                 图   DFS   BFS    最小生成树  最短路径   最大流  拓扑排序   关键路径
       
               van Emde Boas树  斐波那契堆,Treap树堆,线段树  伸展树  跳跃表  划分树    不相交集合,哈希表,并查集,字典树,后缀树/数组
       
                      排序算法(交换类,插入类,选择类,归并,基数)
       
                           查找算法(有序表,索引,搜索树BST,平衡树AVL,红黑树RBT,B树B+B-B*)
       
       
       
                     分治法,动态规划,贪心算法,摊还分析(聚合分析,核算法,势能法,动态表)
       
       
       
                          参考书籍  《大话数据结构》《算法导论》《运筹学》《编程之美》《剑指offer》《编程珠玑》
       
                           刷题必备   leetcode , topcoder  ,lintcode,牛客,各大校园OJ
       
         -------------------------------------------------------------------------------------------------------------      
       
               三.计算机网络
       
                      OSI7层模型(TCP4层)每层的作用和协议,URL到页面过程
       
                      http/https,get/post以及幂等性,http协议头,http网络攻击(CSRF、XSS)
       
           TCP/UDP/IP报头
       
                ARP & RARP   ICMP & IGMP  
       
             ping telnet traceroute
       
          TCP最大连接数
       
        tcp/udp 区别
       
          tcp 如何保证可靠连接
       
           三次握手和四次挥手详细过程
       
           拥塞控制(过//程、阈值)
       
            流量控制与滑动窗口
       
            time_wait的危害
       
                 参考书籍《计算机网络》《TCP/IP详解》(卷一就够了)《Unix环境编程》《Unix网络编程》《linux高性能服务器编程》
       
         -------------------------------------------------------------------------------------------------------------------------------------
       
         四.计算机操作系统
       
           操作系统几种分类
       
         进程通信IPC(几种方式)
       
         进程与线程区别
       
         OS几种策略(页面置换,进程调度)
       
         互斥与死锁相关
       
          linux常用命令
       
                linux内核相关
       
               参考书籍《Linux鸟哥私房菜》《现代操作系统》《深入理解计算机系统(CSAPP)》《Linux内核设计与实现》
       
          ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
              五.数据库
       
        //数据库的范式,事务的ACID
       
      //索引(包括分类及优化方式,失效条件,底层结构)
       
      //SQL语法(join,union,子查询,having,group by)
       
      //引擎对比(InnoDB,MyISAM)
       
      //数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)
       
      //隔离级别,依次解决的问题(脏读、不可重复读、幻读)
       
      //优化(explain,慢查询,show profile)
       
      //分库分表,主从复制,读写分离。
       
      //Nosql相关(redis和memcached区别之类的,如redis,redis)
       
              参考书籍《深入浅出MySQL》
       
          ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
            六.设计模式
       
      框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。
       
      设计模式,单例,工厂,策略,装饰,桥接等23种Gof
       
      框架模式:MVC,MTV,MVP,CBD,ORM
       
      C++的QT、MFC、gtk,ACE,wxwindows,Java的SSH 、SSI,php的 smarty(MVC模式),python的django(MTV模式)等等
       
      库  STL,BOOST,COM,MFC
       
            参考书籍《大话设计模式》
       
          ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
            七.软件工程
          需求,概要,详细,编码,测试,维护
          版本控制工具 SVN,Git, VSS,CVS, ClearCase, StarTeam
          自动化工具: 代码生成、依赖管理、版本管理、环境分配、打包部署、线上监控等,Apollo
       
          ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
             八.软件测试
       
            单元测试,集成测试,系统测试,验收测试
       
            黑盒测试(等价类划分,边界值分析,因果图和判定表,正交实验法,状态图法)
       
            白盒测试(逻辑驱动,基本路径,循环覆盖)
       
            压力测试、云测试、回归测试、topsite测试
       
             Bug管理工具JIRA,测试用例管理Testlink
       
            自动化测试
       
            功能自动化测试工具:Watir、Selenium、MaxQ、WebInject 
       
            性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator 
       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
               以后就是复习列表,皆是基础。部分参考来源于CSDN,博客园,知乎,牛客,百度百科。
       

          <small id='e8yus4e0'></small><noframes id='4yvl50dj'>

          <legend id='0sy3g6xl'><style id='cmj33tii'><dir id='x23khd5e'><q id='svois3ci'></q></dir></style></legend>

              <tbody id='pnrczvn2'></tbody>

            <i id='jkp8xtzm'><tr id='wejl7xya'><dt id='612kcycu'><q id='vzlcwgpy'><span id='ok0jd80q'><b id='4huej0bf'><form id='kqdzenwp'><ins id='md7ecs9i'></ins><ul id='klxloy63'></ul><sub id='ux44y320'></sub></form><legend id='8jo2ibta'></legend><bdo id='x2olijcy'><pre id='huxdk4lf'><center id='e3eraiiu'></center></pre></bdo></b><th id='salkmbcq'></th></span></q></dt></tr></i><div id='cpx63aut'><tfoot id='z9mfsy6s'></tfoot><dl id='41zcg0o4'><fieldset id='8ab28va9'></fieldset></dl></div>
            <tfoot id='n5ibaydr'></tfoot>

            本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

            上一篇:软件开发基础常识 小程序开发上一篇
            下一篇公众号开发下一篇:项目开发基本知识

            <legend id='r4bzaqmc'><style id='fne4xax0'><dir id='f2xj1gfk'><q id='58lb4lxu'></q></dir></style></legend>

              <small id='sr863pcj'></small><noframes id='1jnq67cy'>

            1. <tfoot id='sqspj44s'></tfoot>
                <tbody id='mydo9qie'></tbody>

                <i id='i6exs7qe'><tr id='oaj6gn91'><dt id='6rf2bnlu'><q id='n6ftl0b0'><span id='hnm46228'><b id='lxc1quq8'><form id='vgpqvshl'><ins id='6ryyzrwm'></ins><ul id='kk1fm6u2'></ul><sub id='4h716fix'></sub></form><legend id='lz85v4xz'></legend><bdo id='rc0brfir'><pre id='aw0dnym5'><center id='jxrdxe5w'></center></pre></bdo></b><th id='t4o48fnt'></th></span></q></dt></tr></i><div id='11aef7wx'><tfoot id='tx06w7tb'></tfoot><dl id='4ucg6tm7'><fieldset id='ilu7vbcd'></fieldset></dl></div>