一、面试总结
避坑:深圳龙岗李朗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.平时工作中有用到什么算法吗?
3.常见设计模式有哪些?工作中用到了哪些?
答:适配器、装饰器、抽象工厂
4.c#的值类型和引用类型有哪些?区别是什么
答:值类型有整数型、浮点型、布尔型、结构、枚举、元组、char,引用类型有class、interface、delegate、record、dynamic、object
、string
值类型的变量包含类型的实例。 它不同于引用类型的变量,后者包含对类型实例的引用。
值类型均隐式派生自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树等。
- java中的泛型2--注意的一些问题和面试题
前言 这里总结一下泛型中需要注意的一些地方和面试题,通过面试题可以让你掌握的更清楚一些. 泛型相关问题 1.泛型类型引用传递问题 在Java中,像下面形式的引用传递是不允许的: ArrayList&l ...
- 收藏所用C#技术类面试、笔试题汇总
技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...
- 近期面试总结(Android)
关于近期面试总结(2018年下半年) 有些是老生常谈有些是没有遇到的. 1.HTTP和HTTPS的区别 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为 ...
- 最近面试前端面试题整理(css部分)
对最近面试的面试题坐下总结: 一,css部分 1,html元素的垂直居中 答案: <div id="box"> <div> 测试 </div> ...
- Java面试,面试题
Java面试,面试题 HashMap,HashTable,ConcurrentHash的共同点和区别 HashMap HashTable ConcurrentHashMap ArrayList和Lin ...
- 近期面试总结(PHP后端开发工程师)(部分笔试题)
1.字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样: js:true:字符串除了空字符串('')其他都是tr ...
- 阿里面试的一点感受 阿里ali片式经历和面试题
阿里面试的一点感受 <!-- [废话开始] 百度实习三个月,明天就要离职了,感觉还挺开心的,同事们都很照顾我,Boss也比较欣赏我,我很满足了.掐指一算,这大四其实也没几个月了,同事们都在感叹大 ...
- 近期面试Android的一些面试题
近期一个多月面试过一下公司(均为实习): 腾讯:内推一面卒. 正式校招拿到offer 阿里:内推二面卒. 蘑菇街:面完三面技术面,等待HR面 网易:拿到offer. 能够看到,大部分问题不难,可是能回 ...
- [面试] mysql 面试题
最近在准备面试,mysql 实在是不熟悉,就先摘录一些网上的面试题来看一下. 1. MyISAM 和 InnoDB 区别? InnoDB 支持事务处理,支持更大的并发update 和 insert 操 ...
- python的一些基本概念知识和面试题
对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...
随机推荐
- 机器学习模型评价指标之ROC 曲线、 ROC 的 AUC 和 投资回报率
前文回顾: 机器学习模型评价指标之混淆矩阵 机器学习模型评价指标之Accuracy.Precision.Recall.F-Score.P-R Curve.AUC.AP 和 mAP 1. 基本指标 1. ...
- 2流高手速成记(之九):基于SpringCloudGateway实现服务网关功能
咱们接上回 上一节我们基于Sentinel实现了微服务体系下的限流和熔断,使得整个微服务架构的安全性和稳定性上升了一个台阶 篇尾我们引出了一个问题,众多的微服务节点,我们如何部署才能满足客户端简洁高效 ...
- MyBatis详解(一)
MyBatis简单介绍 [1]MyBatis是一个持久层的ORM框架[Object Relational Mapping,对象关系映射],使用简单,学习成本较低.可以执行自己手写的SQL语句,比较灵活 ...
- 包管理器pacman常用方法
详见[pacman(简体中文) - ArchWiki]:https://wiki.archlinux.org/title/Pacman_(简体中文) 更新系统: pacman -Syu 对整个系统进行 ...
- 小米路由器局域网设备ping不通
问题 手机和电脑在同一个局域网内,都连接上小米路由器,我发现电脑部署的服务局域网设备都访问不到,甚至ping不到,排除了防火墙问题,最终发现是路由器一个设置导致的. 解决 将原来的混合加密,更换为强加 ...
- 基于.net C# Socket WinForm MQTT 客户端开发
1.什么是MQTT? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的&quo ...
- Spring Security(8)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前虽然实现了角色和权限之间的简单配对,但是如果每一个角色都要重新来过一次,就有点呆板了.如果能够配置一个「角色模板」,再通过这个模板来配置其他 ...
- 【每日一题】【链表or双指针循环条件】2022年2月26日-NC96 判断一个链表是否为回文结构
描述给定一个链表,请判断该链表是否为回文结构.回文是指该字符串正序逆序完全一致. 思路: public boolean isPail (ListNode head) { ListNode node = ...
- 如何用3D流体实现逼真水流效果?
华为应用市场在2022年HDC大会期间发布了一款3D水流主题,基于华为HMS Core Scene Kit服务能力,展现立体灵动的水流岛屿,可跟随用户指尖实现实时流体波动效果,既趣味又解压. 让变幻莫 ...
- 模型驱动设计的构造块(上)——DDD
为了保证软件实践得简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的实践. 某些设计决策能够使模型和程序紧密结合在一起,互相促进对方的效用.这种结合要求我们注意每个元素的细节,对细节问 ...