5个软件工程师面试题目请大家帮我解答一下,不知道改如何回答,请不要从网上复制答案

sire168 2012-08-07 04:36:46
(A). B/S架构下,一个业务对象包括一个DataTable对象成员,现在通过Session的键值对增加了对该DataTable的引用。请问该 业务对象在什么时候会被GC自动回收,如果Application的键值对增加了对该DataTable的引用,回收在什么时候?

(B) B/S架构下,可否声明一个静态的数据库链接对象,所以业务类都引用该静态链接对象去访问数据库?C/S架构下呢?
(C)SqlServer中,Where条件的优化方案?
(D) Oracle中可否在存储过程中通过Select语句直接返回一个数据集?Sql Server中呢?
(E)如何导出数据到Excel,有几种方法?B/S和C/S模式下的实现有什么差别吗?
...全文
206 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuan.ye 2012-08-08
  • 打赏
  • 举报
回复
(C)SqlServer中,Where条件的优化方案?
-----------------------------------
从范围大到范围小


(D) Oracle中可否在存储过程中通过Select语句直接返回一个数据集?Sql Server中呢?
------------------------------------------------
都可以,oracle 看配置,如果没有特殊配置,select 需要commit就能返回。


(E)如何导出数据到Excel,有几种方法?B/S和C/S模式下的实现有什么差别吗?
--------------------------------------------------
方法很多种吧,差别是问权限吗?不懂
winner2050 2012-08-07
  • 打赏
  • 举报
回复
A、虽然datatable 是引用类型,Session 引用它以后是进行深拷贝,在Session 超时的时候跟datatable是否被回收无关。
datatable 走完Page的生命周期以后没有被引用,被标记为可回收,具体回收时间乔布斯也不知道。

B、都不该使用静态数据库连接对象。

C、建立数据库索引。

D、oracle 得用游标返回数据,sqlserver 不需要。

E、导出execl 使用COM组件来生成,通常可靠性极低,尤其在B/S架构下。使用xml的方式导出excel是速度最快最稳定,可以避免并发故障时导致服务器锁死。
aiouw 2012-08-07
  • 打赏
  • 举报
回复
(A)Session应该是超时失效后,GC下一轮回收时回收吧.application应该是iis关闭时由GC下一轮回收.

(B)不可以,貌视当连接对象被关闭时,会释放该对象,无法重用 .另外使用连接字符串可以充分发挥连接池的性能

(c)使用键,索引字段,不要用公式,不要用like 等模糊查询

(D)oracle不知道,sql server 可以

(E)html输出,Excel类库(一直使用该方法,结合批量复制数据,主要是该方法功能最强),和第三方类库.
shizhu820228 2012-08-07
  • 打赏
  • 举报
回复
D:SQL 肯定是可以,ORACLE应该也可以,记不清了
shizhu820228 2012-08-07
  • 打赏
  • 举报
回复
C:越右越明确原则
xuan.ye 2012-08-07
  • 打赏
  • 举报
回复
(A). B/S架构下,一个业务对象包括一个DataTable对象成员,现在通过Session的键值对增加了对该DataTable的引用。请问该 业务对象在什么时候会被GC自动回收,如果Application的键值对增加了对该DataTable的引用,回收在什么时候?
-------------------------------
只有iis才知道GC回收,Application 回收 在重启或者关闭iis


(B) B/S架构下,可否声明一个静态的数据库链接对象,所以业务类都引用该静态链接对象去访问数据库?C/S架构下呢?
--------------------------------
不可以,c/s正常来讲也不可以。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧