一、web api
1、发送一个post请求,add和update如何操作?就是在post的方法里面要实现添加和编辑的操作,我当时说通过action判断是添加还是编辑,或者通过id来判断,都说错了。
2、公布接口的时候如何防止别人恶意操作?如删除,一个安全性的问题。没有回答。
二、webservice
1、什么类型是不能返回到前台的?当时面试官说了可以返回string,int,json,问我什么是不能返回的。想了一下不知道。
三、数据库
1、如何把数据库删除的数据恢复回来?我当时听到这个问题的时候有点懵,删了数据怎么恢复?
2、有一个user表,字段:id,name,deptno,sale,一个dept表,字段:id,name。查询每个部门工资最高的的3个。
四、EF
1、如果自己写一个像EF这样的框架,应该注意什么或者说主要的是什么?
2、这些对象是怎么和数据库字段一一对应上的?
五、C#基础
1、new关键字都用在哪些地方,我说创建对象。面试官说这是一个,起码还有两个,其他是用在什么地方?
2、讲一下委托和事件。这个能不能说的通俗一点。
六、其他
1、如何解决大数据并发?面试的时候都喜欢问这个问题。
这些问题自己找了一下都没找到答案。要是能解决这些问题,自己也算学习新知识了。
1.1、如果不是rest,id和action都可以。如果是rest,那么用post执行添加编辑就不合理。
1.2、权限认证,用户需要先获取认证token,然后调用api时,带上这个认证信息。后端会通过这个token获取到用户信息,进而判断是否有权限执行操作,另外,对于恶意用户,还可以通过限流,黑白名单等方式控制。
2.1、理论上是流,不过把流弄成字符串也是能够返回了,不知道此题想问什么。
3.1、数据库日志可以恢复
3.2、连表,分类排序设置row_number(),筛选row_number() 小于等于三的。
4.1、此题太笼统,不过最重要是还是构造sql。
4.2、一个是约定,另外通过特性自定义,说白了就是字段映射。
5.1、泛型约束,方法覆盖
5.2、委托就是我有事情要做,但是我自己不做,交给别人做。事件就是,我给别人发个通知,爱做不做。
6.1、此题纯装X,大数据并发算什么?大数据,还是并发?对于大数据有专门的处理平台,对于并发,给你提供一些关键字:负载均衡,分布式,容器,微服务。
我说我会的一些啊。
二,1 int类型的,因为数据传输的时候是不分类型的,都是字符串处理。json也是字符串。不可能会有int类型的,有了也是数字字符串。(这是网络传输常识)
三,
1,日志回顾。数据库的任何操作都是有记录的。
2,先分组,然后order,接着top
五,
1,new 创建对象还有分配内存(C++基础),
六,问这么高端的问题,干啥呢,分布式数据库处理。
回答的不专业,不好意思。
谢谢你的回答。
六.大数据并发这个太高端了,没有这么接触过,优化数据库,加锁,用配置高的服务器。
我们应该反问一句,贵公司的数据量在那个级别单位?
1.1:通过id判断
1.2:加token
2.1:不能返回流
3.1:通过日志恢复
4.1:主要的应该是动态构造sql
4.2:字段映射
5.1:范型那里有个new,重写方法可以用new
6.1:前端用负载均衡,后台用分布式和读写分离
经验老道~
我只回答数据库这块,我不作fore-end 和 back-end,
1,删除的数据,可以通过备份文件恢复,可以通过事务日志恢复。
2,rank问题,使用windows function实现排名
;with cte as
(select ut.name,row_number(partition by dt.id order by ut.sale desc) as rid
from user_table as ut
inner join dept_table as dt
on ut.deptno =dt.id
)
select name as TopHighSale
from cte
where rid<=3