一、面试总结

避坑:深圳龙岗李朗YH股份会鸽offer

因为offer被鸽重新找工作,从8号开始面试到12号(11家公司),整体感觉面试难度不大,就是很多公司都是走流程,并不是真的需要人,有些甚至聊一两句就让回去等通知。值得注意的是面试之前要了解公司是做什么的,大概的业务是怎么样的,因为简历通过一般是技术符合或者某个项目是类似的,这样可以避免在二面的时候回答不了,而且同一个城市的面试尽量真诚,因为彼此的hr和管理可能都是认识的。

二、面试内容总结:

后端技术要点:面向对象、常见算法和实现、常见设计模式、C#基础、net core(中间件、与net异同、IOC/DI、AOP、国产框架(furion))、EFcore和ORM相关、多线程、性能优化、缓存(Redis、MongoDB )、MQ、微服务、分布式(少)、Docker(少)、CI/CD(少)、Linux(少)、分库分表(少)
数据库技术要点:sql语法、索引、查询优化、存储过程、主流数据库的异同(SQL server、MySQL、postgresql(少))、死锁、事务、函数、B+树、红黑树、B树(这部分很少)
前端技术要点:vue、jQuery、uniapp
业务相关:1. 是否和客户或者现场直接沟通需求,是怎么做的。2. 讲解一下项目的功能和场景,是否遇到问题,是怎么解决的。

面试题(记得的部分):

1.说一下你对面向对象的理解,有什么特点
答:面向对象指的是将现实世界中的事物抽象为一个个对象,每个对象都用对应的方法和属性,面向对象的三大特性:继承、封装、多态
 
2.平时工作中有用到什么算法吗?
答:递归、冒泡、二分。(这个问题我觉得是在问数据结构,可以参考这个https://blog.csdn.net/heyuchang666/article/details/49891635
 
3.常见设计模式有哪些?工作中用到了哪些?
答:适配器、装饰器、抽象工厂
 
4.c#的值类型和引用类型有哪些?区别是什么
答:值类型有整数型、浮点型、布尔型、结构、枚举、元组、char,引用类型有class、interface、delegate、record、dynamic、objectstring
值类型的变量包含类型的实例。 它不同于引用类型的变量,后者包含对类型实例的引用。
值类型均隐式派生自System.ValueType
 
5.c#集合有哪些,区别是什么?
答:用的比较多的是:ArrayList、List、Queue、Hashtable、Dictionary,区别是在线程安全和应用场景上,像list的读取是线程安全而arrayList不是,list可以用于泛型进行排序,搜索,Dictionary用于键值对的字典集合。Queue代表了一个先进先出的对象集合。当需要对各项进行先进先出的访问时,则使用队列。哈希表中的每一项都有一个键/值对。可以直接用哈希键访问集合中的项目。
 
6.char、string、stringbuild有什么区别。
答:char用于存储单个字符,string是char对象的依序只读集合,每次对string的修改都会创建一个新的string对象,StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。
 
7..net framework、.net standard、 .net core、.net 5/6/7 区别
答:net framework和net core都可以用于生成多种类型的应用程序。.net framework框架只能在windows上运行。.net core 是一个:适用于windows、linux、macos操作系统的免费开源托管的框架。
.net5/6/7是.net core的稳定版本。.net standard是一套规范,相当于一个关系表,把.net framework的某些程序集对应到.net core
 
8.谈谈你对netcore 中间件和管道的理解
答:应用的完整请求处理称为管道,中间件是一种装配到应用管道以处理请求和响应的组件,常用于日志记录、异常捕获、请求拦截、缓存处理
 
9.IOC、DI、AOP是什么,为什么使用,怎么用
IOC为控制反转,它是一种思想,把类的具体实现交给外部容器,而不是由类直接实例化,通过这个反转,把控制权交给了外部容器,
降低了类与类之间的耦合性
DI为依赖注入,它是IOC的具体实现,它负责把类与类之间的依赖关系结合起来,有三个生命周期:Transient 服务始终不同,每次检索服务时都会创建一个新实例。
Scoped 服务仅随新范围更改,但在某个范围内是同一实例。
Singleton 服务始终相同,新实例仅创建一次。
原生DI支持构造注入或ServiceProvider.CreateScope.GetService获取实例,如果需要拓展注入可以使用autofac
AOP面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。我的理解是在运行时动态映射dll获取类实例
 
10.EFcore和ORM相关
答:ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的互相转换,ef三种编程方式:Database First、Model First、Code First
 
 
 
13.什么是索引,索引有哪几类(sqlserver)
答:索引用于加速查询的性能。它可以更快地从表中检索数据
 
14.什么是存储过程?有哪些优缺点?
答:存储过程是一组为了完成特定功能的SQL 语句集,存储在数据库中
存储过程的优点
1.效率高
存储过程编译一次后,就会存到数据库,每次调用时都直接执行。而普通的sql语句我们要保存到其他地方(例如:记事本 上),都要先分析编译才会执行。所以想对而言存储过程效率更高。
2.降低网络流量
存储过程编译好会放在数据库,我们在远程调用时,不会传输大量的字符串类型的sql语句。
3.复用性高
存储过程往往是针对一个特定的功能编写的,当再需要完成这个特定的功能时,可以再次调用该存储过程。
4.可维护性高
当功能要求发生小的变化时,修改之前的存储过程比较容易,花费精力少。
5.安全性高
完成某个特定功能的存储过程一般只有特定的用户可以使用,具有使用身份限制,更安全。
存储过程的缺点:
每个数据库的存储过程语法几乎都不一样,十分难以维护(不通用)
业务逻辑放在数据库上,难以迭代
手写:create proc StuProc
@sname varchar(100)
begin
select S#,Sname,Sage,Ssex from student where sname=@sname
end
go
exec StuProc '赵雷' //执行语句
 
15.什么是死锁,如何避免。
答:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。按同一顺序访问对象、避免事务中的用户交互,保持事务简短并在一个批处理中,合理设计索引避免全表扫描
 
 
17.什么是事务,有哪些特点
答:事务是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。具有 4 个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),这 4 个特性通常简称为 ACID。
 
前端部分:vue相关基础知识、组件通信和复用、与jQuery的区别、js语法、js基础、常用ui框架等
还会问到缓存中间件、消息中间件、日志中间件(日志上报和统计)、分表分库、缓存持久性和一致性、主从同步、数据读写分离、数据库的B+树、红黑树、B树等。
 
 
 

NET近期面试总结和面试题的更多相关文章

  1. java中的泛型2--注意的一些问题和面试题

    前言 这里总结一下泛型中需要注意的一些地方和面试题,通过面试题可以让你掌握的更清楚一些. 泛型相关问题 1.泛型类型引用传递问题 在Java中,像下面形式的引用传递是不允许的: ArrayList&l ...

  2. 收藏所用C#技术类面试、笔试题汇总

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  3. 近期面试总结(Android)

    关于近期面试总结(2018年下半年) 有些是老生常谈有些是没有遇到的. 1.HTTP和HTTPS的区别 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为 ...

  4. 最近面试前端面试题整理(css部分)

    对最近面试的面试题坐下总结: 一,css部分 1,html元素的垂直居中 答案: <div id="box"> <div> 测试 </div> ...

  5. Java面试,面试题

    Java面试,面试题 HashMap,HashTable,ConcurrentHash的共同点和区别 HashMap HashTable ConcurrentHashMap ArrayList和Lin ...

  6. 近期面试总结(PHP后端开发工程师)(部分笔试题)

    1.字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样: js:true:字符串除了空字符串('')其他都是tr ...

  7. 阿里面试的一点感受 阿里ali片式经历和面试题

    阿里面试的一点感受 <!-- [废话开始] 百度实习三个月,明天就要离职了,感觉还挺开心的,同事们都很照顾我,Boss也比较欣赏我,我很满足了.掐指一算,这大四其实也没几个月了,同事们都在感叹大 ...

  8. 近期面试Android的一些面试题

    近期一个多月面试过一下公司(均为实习): 腾讯:内推一面卒. 正式校招拿到offer 阿里:内推二面卒. 蘑菇街:面完三面技术面,等待HR面 网易:拿到offer. 能够看到,大部分问题不难,可是能回 ...

  9. [面试] mysql 面试题

    最近在准备面试,mysql 实在是不熟悉,就先摘录一些网上的面试题来看一下. 1. MyISAM 和 InnoDB 区别? InnoDB 支持事务处理,支持更大的并发update 和 insert 操 ...

  10. python的一些基本概念知识和面试题

    对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...

随机推荐

  1. Kubernetes—资源管理

    3. 资源管理 3.1 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes. kubernetes的本质上就是一个集群系统,用户可以在集群中 ...

  2. ROS应用层通信协议解析

    参考:http://wiki.ros.org/ROS/Master_API http://wiki.ros.org/ROS/Connection Header 说明 ROS本质上就是一个松耦合的通信框 ...

  3. i春秋Vld

    进去就问我们懂不懂Vulcan Logic Dumper,然后下面是一个报false.我们查看源码,在源码的最后提示我们index.php.txt的存在,话不多说,直接访问试试. 出现一堆我们暂时还看 ...

  4. (工具) 交叉编译 gperftools及使用

    交叉编译gperftools及使用 sudo apt-get install kcachegrind # 导出为 callgrind 格式时需要 sudo apt install doxygen-la ...

  5. dfs 序

    dfs序可以\(O(1)\)判断书上两个点的从属关系 Tree Queries 题面翻译 给你一个以\(1\)为根的有根树. 每回询问\(k\)个节点\({v_1, v_2 \cdots v_k}\) ...

  6. Velocity模板引擎的的使用示例(入门级)

    简单说下这个引擎的两个分支(虽然语言不同调用方法大同小异): 1.Java平台下的:org.apache.velocity 2..Net平台下的:NVelocity 注:本文章不涉及到后端只说模板的使 ...

  7. 输出图形字符的命令 banner

    输出图形字符的命令 banner 有趣的 Linux 命令.来自实验楼操作系统课程 安装 sudo apt install sysvbanner 截图 其他 还有两个类似的命令toilet,figle ...

  8. C语言条件语句中调用函数并赋值时的一个小坑

    在C语言中,如果在条件语句中赋值,一定要注意符号优先级的问题,比较符号是比赋值符号先执行的.如果同时还调用函数,并将返回值赋给变量,更容易产生错误. 看下面的代码: int increase(int ...

  9. WPF中的“资源”

    WPF中的"资源" 资源概述 WPF中的资源的概念有点类似 web 技术中的静态资源的概念.可以是一个样式,也可以是一个button的边框设置集合. 可以简单的将资源分为如下几个类 ...

  10. 什么是django中间件?(七个中间件-自定义中间件)

    目录 一:django中间件 1.什么是django中间件 2.django请求生命周期流程图 二:django自带七个中间件 1.研究django中间件代码规律 2.django支持程序员自定义中间 ...