艾利希尔
一、栈(Stack)、队列(Queue)和向量(Vector)
1、单链表、双向链表、环形链表、带哨兵节点的链表。
2、栈的基本概念和性质,栈ADT及其顺序,链接实现,栈的应用、栈与递归。
3、队列的基本概念和性质,队列ADT及其顺序,链接实现。
4、队列的应用,环形队列、双向队列。
5、向量基本概念和性质,向量ADT及其数组、链接实现。
二、树
1、树的基本概念和术语,树的前序、中序、后序、层次序遍历;
2、二叉树及其性质,普通树与二叉树的转换。
3、树的存储结构,标准形式。
4、完全树(completetree)的数组形式存储。
5、空树的表示;树的应用,Huffman树的定义与应用。
扩展资料:
第二部分计算机系统基础
一、 处理器体系结构
内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、DataHazard的处理、流水线设计中的其他问题。
二、 优化程序性能
内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈。
三、 存储器结构及虚拟存储器
内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集。
四、 链接、进程及并发编程
内容:静态链接、目标文件、符号和符号表、重定位和加载、动态链接库、异常和进程、进程控制和信号、进程间的通信、进程间信号量的控制、信号量,各种并发编程模式,共享变量和线程同步,其他并行问题。
五、 系统级I/O和网络编程
内容:I/O相关概念、文件及文件操作、共享文件、网络编程、客户端-服务器模型,套接字接口、HTTP请求,Web服务器。
参考资料来源:百度百科-软件水平考试
yiyiling1221
高级软件工程师考试要求
软件工程师是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。下面是我整理的关于高级软件工程师考试要求,欢迎大家参考!
高级软件工程师考试要求
1. 具备软件开发工作所需的知识和技能,编码熟练度和规范性达到一定要求;
2.具备一定的项目能力(包括调试能力、文档编写能力、测试能力等)和综合技术素质(包括对软件生命周期的理解、对设计模式的理解、必备的行业知识和经验等);
3.扎实掌握客户端技术、面向对象技术、三层架构。
同时,需要在计算机、电子、通信、信息工程、自动化等相关专业方面,大专以上学历。具有三年以上的软件开发经验;具备扎实的计算机软件基础,熟悉汇编语言和数据结构,并对软件工程有较好的理解;熟悉.NET/Java/C++/VB/Delphi等常用开发语言中任意一种;有Oracle、SQL-SERVER或DB2等数据库上的开发经验,熟悉SQL语言;具备良好的沟通能力,较强的分析、解决问题、领悟、归纳和逻辑推理能力和撰写开发文档;具有良好的计划性,团队精神,能承受工作压力并充满热情。
软件产业能够决定一个国家的信息产业的发展水平。而我国因为高级人才缺短则致使我们在国际市场上的综合竞争力一直不能提高。所以我国非常需要一大批具有高素质的.高级软件工程师。
工作职责:
1.负责项目前期的的需求分析, 以及设计和开发等各项工作;
2.能按时,独立,高质量地完成工作,对自己的代码要求严格;
3.能解决复杂的技术问题
4.指导初级程序员工作,并负责Code Review
职位要求:
1、本科及以上学历,计算机相关专业;
2、5年以上金融,物流,电信,或互联网行业大型企业应用系统开发相关经验,扎实的基础知识;
3、熟悉Java EE相关技术和框架(包括Java语言/Struts/Spring/iBatis等);
4、熟悉Web及前端技术(包括 Javascript,ajax,json,jQuery, ext等开发框架);
5、熟悉Oracle或MYSQL等数据库的使用,精通 SQL语句的书写;
资深Java开发工程师
岗位要求:
年以上软件工程师或系统工程师经验
2.精通Java下的开发与调试,深入研究过常用的开源框架(SSH等)者优先
3.对远程通信,异步消息,数据存储,分布式缓存等技术至少有一项能有深入了解,有相关实践经验者优先
4.熟悉海量数据处理,深入研究过MapReduce,Hadoop框架者优先
5.对技术痴迷,有强烈的责任感
岗位职责:
1、公司核心系统设计与研发;
2、团队任务安排和进度监控。
任职要求:
1. 有较深的JAVA基础根底,三年以上Java及J2EE研发经验,熟悉NIO、多线程,反射技术以及网络编程,
2. 熟悉流行开源框架,如spring、ibatis、struts2等,熟悉tomcat、apache;熟悉常用开源组件,如quartz, logback等
3. 精通SQL语言,使用过MySQL、PostgreSQL、Oracle等数据库中的一种或多种;
4. 能使用linux操作系统,有面向linux操作系统的J2EE项目经验;
5. 对新事物能有较好的理解力,并乐于执行,敢于建言;
6. 有熟悉常用网络协议者优先;
7. 有面向互联网或移动互联网开发经验者优先;
8. 有搜索引擎、内容聚合等经验者优先;
9. 有基于Android的研发经验者优先;
10.我们尤其欢迎技术Geek。
无经验者,请勿投递简历,以免浪费您的宝贵时间。
优质工程师考试问答知识库