面试题-编程篇

字符串反转?
使用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>

原文地址:https://www.cnblogs.com/rwh871212/p/6961571.html