zoukankan      html  css  js  c++  java
  • 面试题-编程篇

    字符串反转?
    使用Array类的静态方法Reverse  
            staticstring Reverse1(string original)
            {
                char[] arr = original.ToCharArray();
                Array.Reverse(arr);
                returnnewstring(arr);
            }
    查找字符串中出现次数最多的字母及出现的次数?
                string str = "abcdefwaahfbccea46ehhseeeee";           
                Dictionary<string, int> dic = newDictionary<string, int>();
                foreach(char c in str)
                {
                    if (char.IsLetter(c))
                    {
                        if (dic.ContainsKey(c.ToString()))
                        {
                            dic[c.ToString()]++;
                        }
                        else
                        {
                            dic.Add(c.ToString(), 0);
                        }
                    }
                }
                int max=0;
                string maxLetter = "";
                foreach (KeyValuePair<string, int> p in dic)
                {
                    if (p.Value > max)
                    {
                        max = p.Value;
                        maxLetter = p.Key;
                    }
                }
                Console.WriteLine("最多的字母" + maxLetter);
                Console.WriteLine("最多字母的次数" + max.ToString());
    
    把Array复制到ArrayList中?
             string[] s = { "asas","wedde","fdgfgh"};
             ArrayList lst = newArrayList();
             lst.AddRange(s);
     StrTemp 是string变量 包含一些空格和字母,除去所有空格,并找英文字母,按顺序排列 
                string s = "abcab-中D文? 123fdDAFDASFaf";
                s = System.Text.RegularExpressions.Regex.Replace(s, "[^a-z | A-Z]", ""); //去除非字母
                char[] arr = s.ToCharArray();
                Array.Sort(arr);
                s = newstring(arr);
                Console.WriteLine(s);
     
    112358132134……求第30位?用递归
           staticint Foo(int i)
            {
                if (i <= 0) return 0;
                elseif (i > 0 && i <= 2) return 1;
                elsereturn Foo(i - 1) + Foo(i - 2);
            }
    5. 阶乘
    使用递归
    static int JC(int n)
            {
                if (n > 1)
                {
                    return n * JC(n - 1);
                }
                return 1;
            }
    产生一个int数组,长度为100,并向其中随机插入1-100,不能重复?
                int[] arrInt = newint[100];
                for (int i = 0; i < 100; i++)
                {
                    Random rd = newRandom();
                    while (true)
                    {
                        int data = rd.Next(1, 101);
                        if (!arrInt.Contains(data))
                        {
                            arrInt[i] = data;
                            break;
                        }
                    }
                }
    已有int[] a=new int[98];这个a[98]中已经随机放了1-100的数,不重复,找出没有放的那2个数?
              List<int> lst = newList<int>();
                for (int i = 1; i <= 100; i++)
                    lst.Add(i);
                foreach (int item in a)
                {
                    if (lst.Contains(item))
                        lst.Remove(item);
                }
    a=10,b=15,在不用第三方变量的前提下,把a,b的值互换?
    a=a+b;b=a-b;a=a-b;
    编程实现一个冒泡排序算法?
      for (int i = 0; i < arrInt.Length; i++)   
                {
                    for (int j = 0; j < arrInt.Length - i - 1; j++)
                    {
                        if (arrInt[j] > arrInt[j + 1])
                        {
                            int temp = arrInt[j];
                            arrInt[j] = arrInt[j + 1];
                            arrInt[j + 1] = temp;
                        }
                    }
                }
    单例模式?
    保证一个类在同一时间只有一个实例,并提供一个访问它的public访问点。好处:有时候多个实例同时访问一个类时可能会造成程序逻辑错误,比如在生成有序的号码时。
        publicclassSingleton
        {
            privatestaticSingleton instance = null;
            privatestaticreadonlyobject _obj = newobject();
            private Singleton()
            {
                // 将默认构造函数定义为私有,防止外部调用它实例化别的对象
            }
            publicstaticSingleton GetInstance()
            {
                // 这里增加了一个判断实例是否存在,只有在不存在时才给加锁,也就是在这个实例的生命周期中只加过一次锁
                if (instance == null)
                {
                    lock (_obj)//使用锁机制
                    {
                        if (instance == null)
                        {
                            instance = newSingleton();
                        }
                    }
                }
                return instance;
            }
        }
    写 9×9乘法表,用动态Button承载每条公式?
        private void DoGenerate()
            {
                for (int i = 1; i < 10; i++)
                {
                    for (int j = 1; j < 10; j++)
                    {
                        Button btn = new Button();
                        btn.Top = i * 22 ;
                        btn.Left = j * 75 ;
                        btn.Text = j.ToString() + "*" + i.ToString() + "=" + i * j;
                        if (i < j)
                            continue;
                        this.Controls.Add(btn);
                    }
                }
            }
    现有一个整数number,请写一个方法判断这个整数是否是2的N次方?   
     
       privatestaticbool GetFlag(int num)
            {
                if (num < 1) returnfalse;
                return (num & num - 1) == 0;
            }
    
    给定以下XML文件,请画出遍历所有文件名(FileName)的流程图(请使用递归算法)?
    
     <FileSystem>
        <DriverC>
        <DirDirName="MSDOS622">
            <FileFileName ="Command.com"></File>
        </Dir>
        <FileFileName ="MSDOS.SYS"></File>
        <FileFileName ="IO.SYS"></File>
        </DriverC>
    </FileSystem>
            void FindFile( Directory d )
            {
                FileOrFolders = d.GetFileOrFolders();
                foreach( FileOrFolder fof in FileOrFolders )
                {
                    if( fof isFile )
                        You Found a file;
                    elseif ( fof isDirectory )
                        FindFile( fof );
                }
            }
    程序输出?
    usingSystem;
    classA
    {
        publicA()
        {
            PrintFields();
        }
        publicvirtualvoidPrintFields(){}
    }
    classB:A
    {
        intx=1;
        inty;
        publicB()
        {
            y=-1;
        }
        publicoverridevoidPrintFields()
        {
            Console.WriteLine("x={0},y={1}",x,y);
        }
    }
    当使用new B()创建B的实例时,产生什么输出?
    答:X=1,Y=0
    程序输出?
    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
    
    编写一个单例(Singleton)类?
    public FileManager
    {
         private FileManager(){}
         public static FileManager Instance = new FileManager();
    }
    46.用Singleton如何写设计模式
    答:static属性里面new ,构造函数private
    62.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。
    
    <script ***script>
    setTimeout('window.close();'3);
    function show()
    {
    if (window.event.button == 1)
    {
    alert("");
    }
    else if (window.event.button == 2)
    {
    alert("");
    }
    }
    </script>

    字符串反转?

    使用Array类的静态方法Reverse  

            staticstring Reverse1(string original)

            {

                char[] arr = original.ToCharArray();

                Array.Reverse(arr);

                returnnewstring(arr);

            }

    查找字符串中出现次数最多的字母及出现的次数?

     

     

                string str = "abcdefwaahfbccea46ehhseeeee";           

                Dictionary<stringint> dic = newDictionary<stringint>();

                foreach(char c in str)

                {

                    if (char.IsLetter(c))

                    {

                        if (dic.ContainsKey(c.ToString()))

                        {

                            dic[c.ToString()]++;

                        }

                        else

                        {

                            dic.Add(c.ToString(), 0);

                        }

                    }

                }

                int max=0;

                string maxLetter = "";

                foreach (KeyValuePair<stringint> p in dic)

                {

                    if (p.Value > max)

                    {

                        max = p.Value;

                        maxLetter = p.Key;

                    }

                }

                Console.WriteLine("" + maxLetter);

                Console.WriteLine("" + max.ToString());


     

    把Array复制到ArrayList中?

     

     

             string[] s = { "asas","wedde","fdgfgh"};

             ArrayList lst = newArrayList();

             lst.AddRange(s);

     StrTemp 是string变量 包含一些空格和字母,除去所有空格,并找英文字母,按顺序排列 

     

     

                string s = "abcab-D? 123fdDAFDASFaf";

                s = System.Text.RegularExpressions.Regex.Replace(s, "[^a-z | A-Z]"""); //

                char[] arr = s.ToCharArray();

                Array.Sort(arr);

                s = newstring(arr);

                Console.WriteLine(s);

     

    1、1、2、3、5、8、13、21、34……求第30位?用递归

           staticint Foo(int i)

            {

                if (i <= 0) return 0;

                elseif (i > 0 && i <= 2) return 1;

                elsereturn Foo(i - 1) + Foo(i - 2);

            }

     

    5. 阶乘
     

     

    使用递归

     

     

    static int JC(int n)

            {

                if (n > 1)

                {

                    return n * JC(n - 1);

                }

                return 1;

            }

     

    产生一个int数组,长度为100,并向其中随机插入1-100,不能重复?

                int[] arrInt = newint[100];

                for (int i = 0; i < 100; i++)

                {

                    Random rd = newRandom();

                    while (true)

                    {

                        int data = rd.Next(1, 101);

                        if (!arrInt.Contains(data))

                        {

                            arrInt[i] = data;

                            break;

                        }

                    }

                }

    已有int[] a=new int[98];这个a[98]中已经随机放了1-100的数,不重复,找出没有放的那2个数?

              List<int> lst = newList<int>();

                for (int i = 1; i <= 100; i++)

                    lst.Add(i);

                foreach (int item in a)

                {

                    if (lst.Contains(item))

                        lst.Remove(item);

                }

    a=10,b=15,在不用第三方变量的前提下,把a,b的值互换?
    a=a+b;b=a-b;a=a-b;
    编程实现一个冒泡排序算法?

      for (int i = 0; i < arrInt.Length; i++)   

                {

                    for (int j = 0; j < arrInt.Length - i - 1; j++)

                    {

                        if (arrInt[j] > arrInt[j + 1])

                        {

                            int temp = arrInt[j];

                            arrInt[j] = arrInt[j + 1];

                            arrInt[j + 1] = temp;

                        }

                    }

                }

    单例模式?

    保证一个类在同一时间只有一个实例,并提供一个访问它的public访问点。好处:有时候多个实例同时访问一个类时可能会造成程序逻辑错误,比如在生成有序的号码时。

        publicclassSingleton

        {

            privatestaticSingleton instance = null;

            privatestaticreadonlyobject _obj = newobject();

            private Singleton()

            {

                // 将默认构造函数定义为私有,防止外部调用它实例化别的对象

            }

            publicstaticSingleton GetInstance()

            {

                // 这里增加了一个判断实例是否存在,只有在不存在时才给加锁,也就是在这个实例的生命周期中只加过一次锁

                if (instance == null)

                {

                    lock (_obj)//使用锁机制

                    {

                        if (instance == null)

                        {

                            instance = newSingleton();

                        }

                    }

                }

                return instance;

            }

        }

    写 9×9乘法表,用动态Button承载每条公式?

        private void DoGenerate()
            
    {
                
    for (int i = 1; i < 10; i++)
                
    {
                    
    for (int j = 1; j < 10; j++)
                    
    {
                        Button btn 
    = new Button();
                        btn.Top 
    = i * 22 ;
                        btn.Left 
    = j * 75 ;
                        btn.Text 
    = j.ToString() + "*" + i.ToString() + "=" + i * j;
                        
    if (i < j)
                            
    continue;
                        
    this.Controls.Add(btn);
                    }

                }

            }

    现有一个整数number,请写一个方法判断这个整数是否是2的N次方?   

     

       privatestaticbool GetFlag(int num)

            {

                if (num < 1) returnfalse;

                return (num & num - 1) == 0;

            }

     

    给定以下XML文件,请画出遍历所有文件名(FileName)的流程图(请使用递归算法)?

     

     <FileSystem>

        <DriverC>

        <DirDirName="MSDOS622">

            <FileFileName ="Command.com"></File>

        </Dir>

        <FileFileName ="MSDOS.SYS"></File>

        <FileFileName ="IO.SYS"></File>

        </DriverC>

    </FileSystem>

     

            void FindFile( Directory d )

            {

                FileOrFolders = d.GetFileOrFolders();

                foreach( FileOrFolder fof in FileOrFolders )

                {

                    if( fof isFile )

                        You Found a file;

                    elseif ( fof isDirectory )

                        FindFile( fof );

                }

            }

     

    程序输出?

     

     

    usingSystem;
    classA
    {
        publicA()
        {
            PrintFields();
        }
        publicvirtualvoidPrintFields(){}
    }
    classB:A
    {
        intx=1;
        inty;
        publicB()
        {
            y=-1;
        }
        publicoverridevoidPrintFields()
        {
            Console.WriteLine("x={0},y={1}",x,y);
        }
    }
    当使用new B()创建B的实例时,产生什么输出?

     

    答:X=1,Y=0

    程序输出?

    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
     
     

    编写一个单例(Singleton)类?

     
    public FileManager
    {
         private FileManager(){}
         public static FileManager Instance = new FileManager();
    }

    46.用Singleton如何写设计模式

    答:static属性里面new ,构造函数private

    62.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。

     

    <script ***script>

    setTimeout('window.close();',3);

    function show()

    {

    if (window.event.button == 1)

    {

    alert("左");

    }

    else if (window.event.button == 2)

    {

    alert("右");

    }

    }

    </script>

  • 相关阅读:
    Linux KVM
    linux 下添加,修改,删除路由
    爬虫之requests urllib urllib2 BeautifulSoup
    MyBatis-Plus+mysql5.7 动态拼接sql语句 分页查询 自定义sql 查询条件 分组 排序
    springboot2.x+neo4j创建图形数据库
    linux(centos7)下springboot项目jar包使用shell脚本运行
    java网络爬虫-利用phantomjs和jsoup爬取动态ajax加载页面
    springboot开发qq第三方授权登录
    linux(centos7)下nginx访问静态文件403错误解决过程
    idea2019.2+springboot2.2.1版本配置热部署
  • 原文地址:https://www.cnblogs.com/rwh871212/p/6961571.html
Copyright © 2011-2022 走看看