一、面试总结
避坑:深圳龙岗李朗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住?今天,机器之心为读者们 ...
随机推荐
- 教你用JavaScript完成轮播图
案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个轮播图.图片每3秒自动轮换,也可以点击左右按键轮播图片,当图片到达最左端或最右端时, ...
- 设计链表-LeetCode707 基础题
LeetCode链接:https://leetcode.cn/problems/design-linked-list/ 题目:设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属 ...
- 【Flume】概述及组成、入门案例、进阶(事务、拓扑结构)、不同拓扑案例、自定义、数据流监控Ganglia
一.概述 1.定义 日志采集.聚合.传输的系统,基于流式结构 即:读取本地磁盘数据,写入HDFS或kafka 2.架构 Agent:JVM进程,以事件形式将数据送到目的地. Agent由三部分组成:S ...
- new的函数如果有return
1 function FnA() { return { a: 1 } } 2 function FnB() { return false } 3 function FnC() { return tru ...
- MySQL进阶实战7,查询的执行过程
@ 目录 一.拆分查询 二.分解关联查询 三.查询的执行过程 四.优化器的一些优化手段 1.重新定义关联表的顺序 2.将外连接转化为内连接 3.使用增加变换规则 4.优化count().max().m ...
- Jmeter 之 If 逻辑控制器
在Jmeter 中如要在某种场景中才执行特殊请求,此时可用If 逻辑控制器来实现. If 逻辑控制器顾名思义当符合某个条件时则执行,添加路径:测试计划->线程组->逻辑控制器->if ...
- go语言的切片特性
概述: 在使用切片进行赋值的时候,产生新的数组的指针指向原来的数组,只要修改新数组中的元素时,原来数组的元素也会改变. 测试代码: func TestSliceShareMemory(t *testi ...
- 【深入浅出 Yarn 架构与实现】4-4 RM 管理 Application
在 YARN 中,Application 是指应用程序,它可能启动多个运行实例,每个运行实例由 -个 ApplicationMaster 与一组该 ApplicationMaster 启动的任务组成, ...
- 【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。
前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考. 鉴于接下来的一年我要进行这个 ...
- CF构造题1600-1800(1)
D. Same Count One(Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!)) 题意 给定 \(n\) 个长度为 \(m\) 的 ...