----------高级开发工程师
岗位职责:
1、完成平台系统新功能模块开发,维护现有产品,独立地设计、开发、实现和测试关键系统;
2、负责公司项目核心代码的编写;
3、根据产品需求进行业务功能的开发和设计工作;
4、学习应用新技术,优化产品和系统实现
任职要求:
1、5年以上项目开发经验,熟悉B/S开发模式、Windows Service开发应用;
2、5年以上SQLServer数据库系统开发经验,能够对数据库进行分析优化;熟悉mysql优先;
答:对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引
平衡树、哈希桶作用索引的数据结构,聚集索引加主键。非聚集索引给表添加索引,会增加表的体积, 占用磁盘存储空间。非聚集索引和聚集索引的区别在于, 通过聚集索引可以查到需要查找的数据, 而通过非聚集索引可以查到记录对应的主键值 , 再使用主键的值通过聚集索引查找到需要的数据。覆盖索引,双字段的直接定位,省去找主键值,通过主键值找数据步骤。
3、熟练使用Net Framework、Asp.Net、Asp.Net Mvc、AJax、Entity Framework、WCF等语言或Web技术;
答:Microsoft .NET Framework是用于Windows的新托管代码编程模型。
asp.net工作原理:从使用的角度看,ASP.NET的运行过程包含页面请求、分析、编译、组装、页面缓冲五大环节。当客户端通过浏览器请求(Request)页面时,服务器端首先由页面分析器(Parser)对被请求的页面进行分析;再将通过分析的页面内容传递给编译器(Compiler);经过编译器编译的页面内容被传输给组装缓存(Assembly Cache),同时,一些需要较高资源代价的元素可以创建一次后存人内存(Memory);将组装缓存和内存中的内容有机结合后形成一个完整页面(包括数据、编译代码、HTML代码等),完整页面最后被送往输出缓存(Output Cache)。输出缓存中的内容将作为客户端的页面请求结果被送回浏览器。当同一页面被第二次请求时,服务器端将跳过所有中间环节,直接从输出缓存中送出页面请求结果。
Ajax 是一种独立于 Web 服务器软件的浏览器技术。
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。Ajax 是一种用于创建快速动态网页的技术。Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。
优点:
1.简洁的Linq to Sql
语句大大提高了开发人员的效率,不要再写复杂的sql
语句;
2.不再需要再管应用程序如何去连接数据库;
3.EF
可以用作用于数据服务和OData Service
的基础设施;
缺点:
1.由于linq
语句编译之后就是sql
,对于这种自动生成的sql
语句无法控制;
2.EF
的运行机制会消耗大量内存,大大降低了程序运行效率,从而导致降低了用户在客户端的体验效果;
3.一旦数据结构发生变化,需要更新EF
数据model
;有时还可能会出现找不到更新过的实体类这种情况
4、对面向对象有深入的理解,对于注入,重构和优化性能有独特的见解;
5、具有良好的沟通能力、理解能力及团队精神,责任心强,承受较大的工作压力;
6、熟悉html、javascript、css等开发技术;掌握jQuery及其相关插件的使用技术优先;
7、熟练使用redis、memcached等缓存技术;
8、有大数据并发或多线程处理等相关经验者优先。