面试题
Posted fei-h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题相关的知识,希望对你有一定的参考价值。
最近同学们也陆陆续续的开始了面试,他们也总结了一些面试题,在这里,我也来做一个汇总:
1.枚举是什么?
详情:https://www.runoob.com/csharp/csharp-enum.html
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。
声明枚举的一般语法:
enum <enum_name> enumeration list ;
其中,
- enum_name 指定枚举的类型名称。
- enumeration list 是一个用逗号分隔的标识符列表。
枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0.例如:
enum Days Sun, Mon, tue, Wed, thu, Fri, Sat ;
2.形参是什么?
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.形参和实参的类型必须要一致,或者要符合隐含转换规则,
3.怎样在当前页面显示当前页面的网址?
window.location // 或者 window.location.href
实例演示:
新建一个空白html文档
输入:
<script>
alert(window.location.href)
</script>
查看效果.
4.什么是LINQ?
LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性。
5.asp.net中最常用的类有哪些?
- Response
- Request
- Server
- Application
- Session
- Cooki
更多介绍请见:https://zhidao.baidu.com/question/423840458.html
6.三层架构的数据来源?
三层分别是UI表现层,BLL业务逻辑层,DAL数据访问层,数据来源是DAL与数据库打交道,通过DAL从数据库获取数据.
7.c#中拼接字符串
开发过程中常用到的拼接字符串的方法有三种:
1 简单 “+=” 拼接法
string str="a"; str+="c"+"d"; string str_1="a"+"b";
第一种方式的实现原理,第一步先在内存中分配空间,存储str变量的对象,值为"a", “+=”时,又会重新创建一个对象来存储新的字符串(“abc"),把str指向这个新的地址。所以只有简单几步的拼写时,一般不会有太大问题,如果有时候需要循环拼接时,就会不断创建新的对象,很浪费性能和内存。
2 String.Format()
string str= String.Format("012","a","b","c");
这种方式的代码看起来比较整洁,易于月度,效率也比+=高效很多。
3 StringBuilder.Append
StringBuilder str=new StringBuilder(); str.Append("a");
StringBuilder 是预先创建一个比较大的内存,以后每次操作时判断容量上限是否不够用,如果不够用就自动把容量扩大一倍,修改的还是第一次创建的对象的值。
如果是简单的拼写时,可以用 "+=", string.format
循环内拼写很长的字符串时,就需要用到StringBuilder来节省性能和内存了。
8.读入取配置文件内容.
- 在右侧的资源管理器里,引用,添加引用,选择.net中的System.Configuration
- 在代码最前面,添加usingSystem.Configuration;
- 在你想读取配置文件的地方,使用:String hotelnama=ConfigurationManager.AppSetting["hotelnama"];
变量hotelnama读取的就是配置文件中你添加的值了.
9.分隔字符串的方法是什么
1.根据单个分隔字符用split截取
例如
string st="GT123_1"; string[] sArray=st.split("_");
即可得到sArray[0]="GT13",sArray[1]="1".
2.利用多个字符来分隔字符串
例如
string str = "GTAZB_JiangjBen_123"; string[] sArray = str.Split(new char[2] ‘j‘, ‘_‘ ); foreach(string e in sArray) Console.WriteLine(e);
得到sArray[0]="GTAZB",sArray[1]="Jiang".sArray[2]="Ben",sArray[3]="123".
3.根据字符串或字符串组来截取字符串
例如
string str = "GTAZB_JiangjBen_123"; string[] sArray = str.Split( new string[]"Ji","jB", StringSplitOptions.RemoveEmptyEntries); foreach(string e in sArray) Console.WriteLine(e);
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123".
4.提取字符串中的第i个字符开始的长度为j的字符串
例如
string str = "GTAZB_JiangjBen_123"; int start=3,length=8; Console.WriteLine(str.Substring(start-1, length));
输出得到AZB_Jian.
5.提取字符串中右数长度为i的字符串
例如
string str = "GTAZB_JiangjBen_123"; string tSt; int i=5; tSt = str.Substring(str.Length - i); Console.WriteLine(tSt);
输出n_123.
6.替换字符串中的特定字符串
例如
string str = "GTAZB_JiangjBen_123"; string tSt; tSt = str.Replace("123","321"); Console.WriteLine(tSt);
输出GTAZB_JiangjBen_321.
7.删除字符串中的特定字符串Jiangj
例如
string str = "GTAZB_JiangjBen_123"; string tSt; tSt = str.Replace("Jiangj",""); Console.WriteLine(tSt);
输出GTAZX_Ben_123.
8.删除指定位置(第i个)的指定长度(length)的字符串
例如
string str = "GTAZB_JiangjBen_123"; int i=5,length=8; str=str.remove(i,length); console.writeline(str);
输出GTAZBen_123.
10.判断字符串每个值.
针对这道题,我觉得可以将字符串的每个值逐个放入一个数组中,然后就可以对每个值进行判断了.
System.String自带有ToCharArray方法,可以直接将字符串转为char数组,也就是例如
string str = "hello, world"; char[] chars = str.ToCharArray();
11.htmI转义字符
HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
这就要说到HTML转义字符串(Escape Sequence)了。
在这里我就只列举了最常用的一些,更多详情链接:https://www.cnblogs.com/legend-song/p/4037041.html
显示 | 说明 | 实体名称 | 实体编号 |
---|---|---|---|
半方大的空白 |   |   | |
全方大的空白 |   |   | |
不断行的空白格 | |   | |
< | 小于 | < | < |
> | 大于 | > | > |
& | &符号 | & | & |
" | 双引号 | " | " |
© | 版权 | © | © |
® | 已注册商标 | ® | ® |
™ | 商标(美国) | ™ | ™ |
× | 乘号 | × | × |
÷ | 除号 | ÷ | ÷ |
以上是关于面试题的主要内容,如果未能解决你的问题,请参考以下文章
经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!
2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试