一、面试总结
避坑:深圳龙岗李朗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住?今天,机器之心为读者们 ...
随机推荐
- JS图片放大镜功能实现
JS图片放大镜功能实现 技术关键点 1.左侧和上侧距离,在一个水平位置和垂直位置中有我们可以挪动的区域,就是原图片区域,鼠标挪动位置是一个块状位置,他的左侧和上侧距离浏览器上侧和左侧分别有一个长度,我 ...
- 学习 vue3 第一天 vue3简介,创建vue3项目 Composition Api 初识
前言: 从今天开始来和大家一起学习 vue3 相信大家都不陌生,已经火了一段时间了,但是还是有不少人没有学习,那就跟着六扇老师来简单的入个门 废话不多说,来开始今天的学习 Vue3 简介: 2020年 ...
- React综合使用联系
index.js import React from 'react' import ReactDOM from 'react-dom' import CartSimple from './CartSi ...
- C++ 之 宏定义
宏在 C 语言中非常重要,但在 C++ 中却无甚大用,普遍的共识:尽量避免使用宏 C++ 之父 Bjarne 在<C++ Programming Language>中写到 Avoid ma ...
- Java反射与安全问题
1.Java反射机制 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...
- 9V,12V输入充3.7V单节锂电池电路和芯片
锂电池充电管理电路中,普遍常用使用最多的的如PW4054这种的线性降压充电管理芯片,特点就是外围极简洁,但是只能支持USB口的输入5V了.当然也有稍微高点的PW4065,输入电压范围是4.7V-8V的 ...
- PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS
概述PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS. 具有短路保护功能内部集成软启动电路,无需外部补偿电容,外部反馈网络.PW6276采用 SOP8-EP 封装配合较少的外围原件使 ...
- 前端开发:4、JavaScript简介、变量与常量、数据类型及内置方法、运算符、流程控制、循环结构、内置方法
前端开发之JavaScript 目录 前端开发之JavaScript 一.JavaScript简介 二.JS基础 三.变量与常量 四.基本数据类型 1.数值类型 2.字符类型 3.布尔类型 五.特殊数 ...
- HBX更新后无法打包
HBX更新到3.2.2.20210818后H5打包增加了校验 HBuilder X - Release Notes ====================================== 3.2 ...
- 持续发烧,聊聊Dart语言的并发处理,能挑战Go不?
前言 貌似关于Dart的文章没流量啊,就算在小编关怀上了首页,看得人还是很少的. 算了,今天持续发烧,再来写写如何使用 Dart 语言的并发操作.说起并发操作,玩 Go 的同学该笑了,这就是我们的看家 ...