zoukankan      html  css  js  c++  java
  • 面试题(C#基础)

    1>构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

    2>string[] ss=Enum.GetNames(typeof(Color));
    byte[]   bb=Enum.GetValues(typeof(Color));

    3>asp.net服务端缓存
    1页面缓存  2数据源缓存  3自定义缓存 后台Cache[""]
    缓存依赖:
    1文件缓存依赖 的摧毁依赖于文件的改变
    2数据库缓存依赖 轮询机制framework检查  通知机制sqlserver通知

    1 你在哪里用到过反射,为什么需要用它,举例说明?
    服务器软件,访问动态页面的时候,根据路径,推断类名,反射类的对象,调用对象的方法 IHTTPHandler page pageobj as IHTTPHandler 各个动态页面都实现IHTTPHandler接口,就可以动态访问每个动态页面,而不需在程序中写死,用到了多态
    动态菜单
    实体类与xml转换的时候,PropertyInfo[]获得实体类的类型
      private static List<T> XmlToObjList<T>(string xml, string headtag)
            where T : new()
        {
            List<T> list = new List<T>();
            XmlDocument doc = new XmlDocument();
            PropertyInfo[] propinfos = null;
            doc.LoadXml(xml);
            //XmlNodeList nodelist = doc.SelectNodes(headtag);
            XmlNodeList nodelist = doc.GetElementsByTagName(headtag);
            foreach (XmlNode node in nodelist)
            {
                T entity = new T();
                //初始化propertyinfo
                if (propinfos == null)
                {
                    Type objtype = entity.GetType();
                    propinfos = objtype.GetProperties();
                }
                //填充entity类的属性
                foreach (PropertyInfo propinfo in propinfos)
                {
                    //实体类字段首字母变成小写的
                    string name = propinfo.Name.Substring(0, 1) + propinfo.Name.Substring(1, propinfo.Name.Length - 1);
                    XmlNode cnode = node.SelectSingleNode(name);
                    string v = cnode.InnerText;
                    if (v != null)
                        propinfo.SetValue(entity, Convert.ChangeType(v, propinfo.PropertyType), null);
                }
                list.Add(entity);

            }
            return list;
        }


    2你知道异常怎么处理么?
    public myException(string msg):base(msg){}自定义异常类
    catch得时候浪费性能,后面的代码继续执行, new Exception给上层接收,后面的代码不执行

    3你知道网页为什么要用base64传输么?
    1.加密:加密的目的不是让用户发送非常安全的Email。这种加密方式主要就是“防君子不防小人”。即达到一眼望去完全看不出内容即可。
    2.算法的复杂程度和效率:基于1中的目的加密算法的复杂程度和效率也就不能太大和太低。和上一个理由类似,MIME协议等用于发送Email的协议解决的是如何收发Email,而并不是如何安全的收发Email。因此算法的复杂程度要小,效率要高,否则因为发送Email而大量占用资源,路就有点走歪了。
    3.网络传输:在网络数据传送过程中,由于历史原因,只被允许传送ASCII字符,即一个8位字节的低7位。因此,如果您发送了一封带有非ASCII字符(即字节的最高位是1)通过有“历史问题”的网关时就可能会出现问题。网关可能会把最高位置为0!很明显,问题就这样产生了!因此,为了能够正常的传送Email,这个问题就必须考虑!

    4你知道asp.net页面启动时加载javascript,一级后台调用javascript,前台调用后台代码么?
    后台写javascript:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "a", "function aa(){<script>alert('!');</script>}", true);
    Page.ClientScript.RegisterStartupScript(this.GetType(), "a", "<script>alert('!');</script>", true);
    Button1.Attributes["a"] = "aa()";


    Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别
    RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面

    异步线程,后台线程
    线程间调用
    有几种反射调用方式
    服务器控件都生成viewstate么
    Jquery声明事件的方式
    很多个多线程会带来什么问题,如何解决
    多线程间怎么调用
    event.traget
    bind

    多语言 membercach

    福田项目的wcf workflow mvc设计模式

    OA的在线聊天

  • 相关阅读:
    apache 多站点设置
    关键词使用什么分隔符好
    ASP.NET MVC ModelState与数据验证【转】
    Sealed,new,virtual,abstract与override的区别
    ASP.NET MVC4中调用WEB API的四个方法
    wcf 基础连接已经关闭: 连接被意外关闭
    解决MySQL不允许从远程访问的方法有哪些?
    PHP魔法函数 自动转义 magic_quotes_gpc和magic_quotes_runtim
    Html.RenderPartial与Html.RenderAction 用法
    MVC中的扩展点 ActionResult
  • 原文地址:https://www.cnblogs.com/shenqiboy/p/3551525.html
Copyright © 2011-2022 走看看