.NET出现频率非常高的笔试题
一、.net基础
1、 a=10,b=15,请在不使用第三方变量的情况下,把a、b的值互换
答:小学算法,加法交换律和加法结合律int a=a+b; int b=a-b;int a=a-b;参考
参考答案
2、session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
答:redis 或者 memcache。当然,微软也提供了解决方案。iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
参考答案
3、如何处理几十万条并发数据?
答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.
参考答案
4、62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成2的6次方参考答案
参考答案
5、<%# %> 和 <% %> 有什么区别?
答:<%# %>表示绑定的数据源,<% %>是服务器端代码块
参考答案案
6、ASP.Net页面生命周期简单描述
每个页面的生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一个往返过程.全局变量的生命周期在此之间.1. Page_Init(); 2. Load ViewState and Postback data; 3. Page_Load(); 4. Handle control events; 5. Page_PreRender(); 6. Page_Render(); 7. Unload event; 8. Dispose method called;
参考答案
7、写出程序的输出结果
public abstract class A
{public A(){Console.WriteLine(‘A’);} public virtual void Fun(){Console.WriteLine(“A.Fun()”);}
}public class B: A
{public B(){Console.WriteLine(‘B’);}public new void Fun(){Console.WriteLine(“B.Fun()”);}public static void Main(){A a = new B();a.Fun();}
}
A B A.Fun()
参考答案
8、 写出程序的输出结果:
public class A
{public virtual void Fun1(int i){Console.WriteLine(i);}public void Fun2(A a){a.Fun1(1);Fun1(5);}
}public class B : A
{public override void Fun1(int i){base.Fun1 (i + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}
}
2 5 1 6
参考答案
9、在下面的例子里
using System;
class A
{public A(){PrintFields();}public virtual void PrintFields(){}
}
class B:A
{int x=1;int y;public B(){y=-1;}public override void PrintFields(){Console.WriteLine("x={0},y={1}",x,y);}
}
当使用new B()创建B的实例时,产生什么输出?
答:X=1,Y=0;x= 1 y = -1
参考答案
10、如何提高.NET的性能
1. 使用异步方式调用Web服务和远程对象 只要有可能就要避免在请求的处理过程中对Web服务和远程对象的同步调用,因为它占用的是的ASP.NET 线程池中的工作线程,这将直接影响Web服务器响应其它请求的能力。2. 使用适当的Caching策略来提高性能3. 判断字符串,不要用""比较。 //避免 if(strABC!=null && strABC!="") {} //推荐 if(!string.IsNullOrEmpty(strABC)) {}4. 页面优化5.用完马上关闭数据库连接6. 尽量使用存储过程,并优化查询语句7. 只读数据访问用SqlDataReader,不要使用DataSet
参考答案
11、说出一些数据库优化方面的经验?
索引内部原理:想象成Dictionary,插入、删除、更新的速度慢了,加上索引也多占用了空间,查询的速度快了。加上索引以后速度提升非常明显。(1)在经常检索的字段上(select * from Person where Name=@Name)使用索引提高查询速度。(2)select中只列出必要的字段,而不是*。(3)避免隐式类型转换造成的全表扫描,在索引上使用函数也会造成全表扫描(因为索引只是为字段建立的,一旦使用表达式或者函数,那么索引就是失效了,当然也可以使用“函数索引”、 “表达式索引”解决这个问题),使用索引不一定能提高查询速度。(4)避免在索引列上使用计算(where Name+'A'=@MyName)
参考答案
二、程序设计
1.请编程实现一个冒泡排序算法?
Int[] arrAge = new int[5]; //给数组元素赋初始值 For(int i=0; i<5; i++) {Int intTemp = 0;For(int j=i+1; j<5; j++){If(arrAge[i]<arrAge[j]){intTemp = arrAge[i];arrAge[i] = arrAge[j];arrAge[j] = intTemp;}} }
参考答案
2. 一列数的规则如下: 1、1、2、3、5、8、13、21、34…… 求第30位数是多少, 用递归算法实现。
public class MainClass {public static void Main(){Console.WriteLine(Foo(30));}public static int Foo(int i){if (i <= 0)return 0;else if(i > 0 && i <= 2)return 1;else return Foo(i -1) + Foo(i - 2);} }
参考答案
3、编写一个单例(Singleton)类。
public FileManager {private FileManager(){}public static FileManager Instance = new FileManager(); }
参考答案
4. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求: 1.要有联动性,老鼠和主人的行为是被动的。2.考虑可扩展性,猫的叫声可能引起其他联动效应。
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)<2>从Mouse和Master中提取抽象(5分)<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)
public interface Observer {void Response(); //观察者的响应,如是老鼠见到猫的反映 } public interface Subject {void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象—老鼠 } public class Mouse : Observer {private string name;public Mouse(string name, Subject subj){this.name = name;subj.AimAt(this);}public void Response(){Console.WriteLine(name + ” attempt to escape!”);} } public class Master : Observer {public Master(Subject subj){subj.AimAt(this);}public void Response(){Console.WriteLine(“Host waken!”);} }public class Cat : Subject {private ArrayList observers;public Cat(){this.observers = new ArrayList();}public void AimAt(Observer obs){this.observers.Add(obs);}public void Cry(){Console.WriteLine(“Cat cryed!”);foreach (Observer obs in this.observers){obs.Response();}} } class MainClass {static void Main(string[] args){Cat cat = new Cat();Mouse mouse1 = new Mouse(“mouse1″, cat);Mouse mouse2 = new Mouse(“mouse2″, cat);Master master = new Master(cat);cat.Cry();} }
设计方法一
public delegate void SubEventHandler(); public abstract class Subject {public event SubEventHandler SubEvent;protected void FireAway(){if (this.SubEvent != null)this.SubEvent();} } public class Cat : Subject {public void Cry(){Console.WriteLine(“cat cryed.”);this.FireAway();} } public abstract class Observer {public Observer(Subject sub){sub.SubEvent += new SubEventHandler(Response);}public abstract void Response(); } public class Mouse : Observer {private string name;public Mouse(string name, Subject sub) : base(sub){this.name = name;}public override void Response(){Console.WriteLine(name + ” attempt to escape!”);} } public class Master : Observer {public Master(Subject sub) : base(sub){}public override void Response(){Console.WriteLine(“host waken”);} } class Class1 {static void Main(string[] args){Cat cat = new Cat();Mouse mouse1 = new Mouse(“mouse1″, cat);Mouse mouse2 = new Mouse(“mouse2″, cat);Master master = new Master(cat);cat.Cry();} }
设计方法二: 使用event — delegate设计
三、数据库操作
1、数据库查询正表变横标,横表变正表
2、参考 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 2
四、IQ和逻辑推理
结语
最后,我这里再推荐一本《程序员面试宝典 第三版 PDF中文版》
转载于:https://www.cnblogs.com/smile-rain/p/4631260.html
.NET出现频率非常高的笔试题相关推荐
- 最全python爬虫面试笔试题及答案汇总,三万多字,持续更新,适合新手,应届生
目录 一些经典的Python爬虫和网络编程面试题... 1 1.动态加载又对及时性要求很高怎么处理?... 1 2.分布式爬虫主要解决什么问题?... 1 3.什么是 URL?... 1 4.pyth ...
- 数字IC笔试题---千题解,量大管饱,图文并茂
前言 出笔试题汇总,是为了总结秋招可能遇到的问题,做题不是目的,在做题的过程中发现自己的漏洞,巩固基础才是目的. 所有题目结果和解释由笔者给出,答案主观性较强,若有错误欢迎评论区指出,资料整理来自于& ...
- 30K 月薪运维工程师面试考什么?滴滴17年春招笔试题
转眼之间已经进入了18年2月份.每年的2.3月份,工程师们就会迎来新一波的跳槽高峰.为了拿到更高的薪资,好好准备笔试.面试当然是重中之重. 今天小编为大家整理了去年滴滴春招的笔试题,快来试试自己能不能 ...
- IC/FPGA笔试题分析(五)
下一个笔试题是华为,虽然只有单选和多选,但还是需要准备一下: 这是一个电路中的某一条关键路径,或者是一个单独的设计,都可以去求其最高频率. 考虑到有时钟抖动等许多情况,所以此电路的最小周期应该为: T ...
- IC/FPGA大疆笔试题分析(预分析)
上午刚参加完一场面试,晚上又有大疆的FPGA笔试题要做,下午临时磨刀,找点往年的笔试题练练手: 1 如果只使用2选1mux完成异或逻辑,至少需要几个mux? 这类问题,我在以前的博客中练习过:http ...
- 转】阿里哈尔滨2014笔试题及【原创】答案
2014哈尔滨阿里笔试题 1. 单选题 1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: ...
- 机器学习笔试题精选(七)
红色石头的个人网站:redstonewill.com 机器学习是一门理论性和实战性都比较强的技术学科.在应聘机器学习相关工作岗位时,我们常常会遇到各种各样的机器学习问题和知识点.为了帮助大家对这些知识 ...
- 终章 | 机器学习笔试题精选
点击上方"AI有道",选择"置顶公众号" 关键时刻,第一时间送达! 读本文大约需要 9 分钟 机器学习是一门理论性和实战性都比较强的技术学科.在应聘机器学习相关 ...
- 电子类公司笔试题精选
一.模拟电路 1基尔霍夫定理的内容是什么?(仕兰微电子) 基尔霍夫电流定律是一个电荷守恒定律,即在一个电路中流入一个节点的电荷与流出同一个节点的电荷相等. 基尔霍夫电压定律是一个能量守恒定律,即在一个 ...
最新文章
- python中yield的认识与学习|生成器
- 伪共享 FalseSharing (CacheLine,MESI) 浅析以及解决方案
- javacurrentmap_Java 8 并发: 原子变量和 ConcurrentMap
- 设计模式理解:工厂模式,抽象工厂,原型方法
- 如何在Chrome开发者工具里找出SAP Fiori frontend server的systen ID
- -9 逆序输出一个整数的各位数字_逆序对个数(归并排序)
- python string.format()_python string format
- 主机连接虚拟机 web服务
- 中国刹车片自动检测系统行业市场供需与战略研究报告
- Redis源码阅读-Dict哈希字典
- 圈圈usb cannot convert from 'BOOL (__thiscall CMyUsbHidTestAppDlg::* )(UINT,DWORD)' to 'LRESULT (__
- RA8835驱动320240液晶模块例程
- 使用FreeCAD进行零件建模
- 公告栏模板php代码,destoon调用自定义模板及样式的公告栏
- java web代码及展现_抓网页_面包网_javaWeb展示
- 智能手表音频特性测试_TicWatch Pro 3 体验:智能手表的集大成者
- 郭盛华一生特别自律,这两样东西从不沾,网友:不愧是教父级人物
- PHP Yii框架之表单验证规则大全
- Python代码画小猪佩奇--turtle绘图
- qemu内存管理——扁平视图
热门文章
- 2020年华科计算机考研机试题答案(没弄懂题目的意思)
- Redis缓存穿透、击穿、雪崩及主从复制
- 计算机硬件的组装实践,毕业论文-计算机硬件组装实践.doc
- oracle 根据分隔符提取,oracle根据分隔符获取字符串
- 006_FastDFS文件上传
- 028_jdbc-mysql大文本
- 006_Buzz属性和组
- Unity5x编辑器的视图一
- android 宏替换_android 模拟宏定义,实现Debug amp; Release 模式-一团网
- html自动轮播中间放大,html5+css如何实现中间大两头小的轮播效果