- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
这次面试的时间是8月28号。距离上一次面试已经过去了一个月了,距离开始找工作已经过去了2个月。没多少找工作经验的我也体会到了什么叫就业崩了.
看了一线码农的采访计划后,我也把苏州列为了找工作的地方之一。我成都感觉公司都翻烂了 。
.netcore
,devops
,CICD
,单元测试
和集成测试
,scrum
敏捷开发,k8s
,前后端分离
,RabbitMQ
,Redis
,微服务
全整上。我CICD,单元测试这些部分有学习,但也没项目用过,敏捷开发除了外企常见,还有哪能接触?上不去,真的上不去。我发觉我目前这个目前这个技术阶段还挺尴尬的。技术和经验说深不深,说浅不浅,到底是上不能上,下不得下.
这次面试的公司是苏州史斯莱克精密设备,其基地应该是位于太湖边上的孙武路。HR介绍该公司是清华毕业的华人创建,我在想该不会是高华润人吧?主要业务是易拉罐瓶盖生产设备制造。近年来开始设计新能源汽车的电池盖。据说的技术迁移应用.
面试前,HR首次询问的工资,我回答的是14万一年。初试是腾讯视频线上会议面试,商定在晚上6点半。一个应该是业务经理,一个技术工程师,年龄均偏大吧,可能有40多了.
首先是我做自我介绍 我叫XX,今年27岁,20年毕业与西南石油大学。毕业之后就一直在目前这家XX公司。所学的专业是软件工程。在这边基本上一直在做软件开发。前期在做运维,大概一年之后转向开发。早期是做winform的运维,当然也参与了一点后面的开发,但是参与得比较少。然后转为asp.netcore的开发。到目前为止大概是开发了3个左右的项目。大概情况就是这样.
你最近开发了项目前端用的是vue框架还有nuxt,后端用的webapi。那我问一下vue的一些问题吧。vue组件之间的通信你会吗?就简单说一下大概的过程,父子之间通信的过程 vue父组件向子组件传递信息是通过那种类似于html标签的形式,当然他不叫html,然后设置这个标签的属性,就把数据数据交给子组件了。然后u子组件内部通过那个defineProperty(defineProps)接受。至于子组件调用父组件的方法,这个学的不是很深入,整个框架是前端搭建的.
好吧,那个nuxt,他会帮你把目录生成好,然后你在项目的目录下添加图片。还有页面就先当与你们只需压迫在前端调用一些后端的接口吗?那前端的交互什么的,页面的动作你们自己写吗?比如下拉框啊等等 如果是下拉框的话,我们是使用的elementui,elementplus,所以说自定义组件这块不是很了解.
就相当于前端美工给你们把那个页面做好,你们直接负责API? 美工,他只给我们设计图,我们自己把设计图转化为页面,然后其实后端也是我们自己写。(所谓的前后端分离,人不不分离) 。
好,那么webapi主要是与前端vue用什么方式通信? http由几种通信?你是说http method方法吗?最常用的就是get,然后涉及到表单的话会用post。当然还有put,delete,但是我们没有使用这些,最常用的还是get和post.
这几种方法是怎么床底参数的? get是直接在url中写参数,post是在头部后面的请求体中存放参数.
你前两个项目使用的efcore,后一个项目使用的sqlsugar,那sqlsugar那个项目怎么防止注入呢? 什么情况下会发生注入?首先后端的是直接使用sql查询,其次呢,如果使用了sql,又没有使用参数化查询的话,就会存在sql注入。但是我们一般是直接写linq,如果查询比较复杂的话,写不出来,或者说下起来很费劲的话,才会写sql.
那个多租户,就是sqlsugar的多租户你们用过吗? 我没有用过多租户,请问多租户指的是什么呢?
就是数据库,你们的数据库服务器是同一个吗?多租户就是数据库有几个服务器的时候,同一个sqlaugar客户端访问不同服务器 哦,明白了。我们就只有一个数据库服务器,所有对应的应用都去访问那个服务器,所以没有这种情况。我估计的有很多服务器才能碰到这种需求.
sqlsugar有一些自带的方法,比如事务,里面的事务是怎么样的?里面包含的所是什么样的情况? 锁的话我不太了解?只听说过悲观锁,乐观锁,不知道是不是指的这个?事务的话,我想一下,sqlsugar不想efcore,有一个saveChanges方法,在一个事务中把所有改动都保存到了数据库。但是sqlsugar,我没有看到这种方法。但是sqlsugar涉及到多表修改的话,还是需要手动创建一个事务的,但是我们目前还没有使用到.
那你说一下单向绑定和双向绑定 单向绑定的话,用的最多的是ref对象,还有react对象,但用的比较少。然后再标签中引用这个对象,变量,就可以实现单向绑定。至于双向绑定,他其实是一个回调,界面上改动数据后调用回调函数,但是vue提供了一个v-model指令封装了这个,就可以直接使用来实现双向绑定.
说一下using关键字的作用 第一个作用是引入命名空间,第二个作用是给命名空间取别名。还有就是非托管资源。 比如说我们在C++里面写的函数,里面使用了new申请了非托管内存。在C#中就可以使用dllimport导入C++中的函数,还可以使用C#类对这些函数进行封装。然后这个类继承IDispose接口,在dispose方法里面释放非托管资源。当然这个释放方法是C++里面暴露出来的一个函数。然后我们在using代码块里面创建这个对象的时候就不用担心内存泄漏,不用手动去调用释放函数,能够自动释放非托管资源,这个比较方便.
之前你们做那个项目,里面用到了那个大数据统计 大数据,我不知道这个概念指的是什么?
就是数据表里面,每天大概会产生几百万条数据那种 没有,我碰到的最多的话,是一个实时数据表,但总共才5000多万条数据,但是也没有说每天产生几百万条数据那么夸张的.
那如果是想要看很多数据的话,要如何让他更高效呢? 嗯,首先就是分页查询。还有就是取决于表,如果说有很多比必要的字段的话,是不需要查询出来的。特别是vue,应该说elementui,在数据量比较多的时候,他就比较卡。使用分页是很有必要的,大概800-900条就要分一次.
能说一下前端虚拟化吗? 我不太确定这个概念?
就是一次性查询出来的时候也,都放在页面,嗯,内存里面,然后渲染的时候,不把内存里面的数据都渲染出来。这样的话,流畅度比较好,也不需要分页,像是滚动加载 这种我没有用过,但是我跟绝跟分页那个也挺像。因为我们有时候查询数据的时候,也是全部查询出来,然后点击下一页的时候,从内存中过滤出相应位置的数据。而不是说到数据库查询那边分页.
你之前做过设备通信吗? 我没有直接跟硬件通信过,因为我们这这边是有硬件小组的。他们专门去硬件上采集数据,然后有两个方向。一个是存储现场的sqlite中,一个是通过MQ传回中心的服务器.
OK,那你之前用过消息队列吧? 我没有用过专门的消息队列,只是使用过redis模拟的消息队列,使用lpush和rpop,因为也提供了通知功能。但是没有用过RabbitMQ.
要是有一个请求,花了很长时间那种,怎么处理? 如果是不需要立即回显数据那种,可以使用一把方法接口,然后拉一个排队的托管服务,把请求的操作交给托管服务去慢慢处理。然后请求直接返回。这是第一种。第二种,像是需要回显数据的,不好意思,我有点忘了问题?
要是有一个请求,花了很长时间那种,怎么处理?这会带来不好的体验,怎么去优化这个请求,只是针对单个请求,考虑为什么请求时间会变长 在头一个阶段,比如果并发量比较大的话,请求可能卡在排队阶段,这种最好使异步方法接口。理论上说是有用,但我们没有碰到过这种,可能业务量比较小。 单个请求时间比较长的话,其实最多的是卡在数据库的查询上面,那可能就需要注意一下sql有没有走到索引上面去。这种情况我们以前蹦到的比较多,后来是统一处理的.
写过存储过程吗?就是那种比较复杂的sql 没有写过,我们使用的是物化视图。有其他程序跑在服务器上,去更新这个视图.
问一下你关于业务方面的问题。你们是人工作业还是通过井下设置直接采集上来 我们的设备主要是接实时数据,这是一个方面,还有就是比如压裂车上面的一些作业数据,它上面本身是带有传感器的。然后他们技术员会去看那些数据。那个采集软件是技术员手动去填的。只有实时数据是自动采集的.
那个支持中心项目,你在这里面主要是做运维的工作是吧 是的。这个项目我都不知道有多久了,因为我进来的时候已经是开发完毕很久了。我来了之后主要是负责我们业务这一块功能的运维.
里面有实时数据、视频监控啊。那个视频监控是实时的还是录像?还有那个监测,那个工程作业是直接对井下作业实时监测的,还是只是派工用的? 是实时视频。监测主要是靠实时数据。还有就是结合技术员开工之前填报的信息做一些预警。派工的话,是中心派工之后,他们才开始作业.
这种派工模式,实际上就是拿钱的个干活的从原来的一个公司被分到两个公司去了.
那这个现场的话,你有没有去过?有没有参与过现场的工作? 没有。我没有去过现场,只是做开发。现场组内有几个人去过,一方面是安装设备,一方面是调试软件这些.
那现场作业系统这一类系统,井下作业只是在地面上,还是也参与井下? 嗯,地下有一个部分是参与了的,就是泵注那块。会看加水加砂的情况,到了哪个地方,显示在界面上,比较类似于你说的井下的.
手机端的话,你有没有参与开发? 手机端我主要是提供接口,作业不是手机端的主要功能。主要用于现场管理,比如班前班后会,签到,巡检这些。真正作业的时候,他们是用电脑.
那实时数据有没有考虑到弄到手机端去展示? 有。手机端也有实时数据展示功能。不过那是给中心的领导用的,他们在工作的时候用手机看比较方便。现场的手机端没有这个功能.
你们的手机端开发使用的网页还是安卓,还是微信小程序? 网页的话,是有专门的那种壳,嗯,叫什么(electron),里面封装了一个浏览器核心吧。但我们这边用的是原生安卓开发,是移动端小组做的.
数据库用到的比较多的是哪几种? 中心业务上用的最多的是Oracle,现场用的是mysql,他们数据库表结构是一样的。填了数据之后,通过触发器,记录在一个表里面。有一个程序去读取这个表的触发记录,然后找到相应数据,放到MQ中,传回中心的数据库上面。实时数据的话,就使用的sqlite。那个数据比较多,每个月一个文件,每个几百兆,大概有几个G吧,我不确定这个数据放mysql是否合适.
MQ这个数据发回中心的过程, 我不太清楚这方面,本地有一个上传软件,但不是我做的。但我知道这方面确实有问题,前两年MQ传数据回来时就经常丢数据,主要是消息积压.
你接受出差吗? 接受.
你家在成都吗? 我加没在成都,我家在巴中,也是四川,比较小的一个城市.
你出来这么远,你家里人接受吗? 我觉得他们可能不会干涉太多.
你出过差吗?比如说新疆那边,乌鲁木齐那边 我出过,也是新疆那边,是旁边的一个城市,库尔勒,距离还是挺近的。大概四五个月.
我们大部分工作都是在苏州这边的人员做的,有些具体的项目,也要跟着现场去。所以我在想,我们有个项目挺适合你的 我知道,C#搞工业去现场避免不了的.
这样的话,我猜他们也是想搞前后端分离的现场应用。然后用Electron使用SPA搞前端。刚好我这前后端都开发过。但是怎么说呢,我最希望的还是实践一下WPF,毕竟是.Net程序员啊。如果MAUI+Blazor熟悉的有福了,桌面端、网页端、手机端也一并做了。可惜我手机端只用过一点MAUI8原生。 还有一上来就让我跑现场搞那个项目,很难不让我怀疑,就是让我去冲项目的,我一从现场回来就会被解雇了。而且这和他们公司HR说的目前的业务也没有联系。难道在新疆建设工厂吗?
你还与问题吗? 今天晚上的面试我算是通过了吗?
因为现在是视频面试,有一些笔试我们都准备了的,还有一些面试题目。但是视频面试就只能这样。之后的话,HR会通知你 好的,我知道了.
我是没有太重视vue的,在3、4月份,每天中午午休吧vue的官方文档和看完了,也看了下vue-router。然后项目上切换到vue了。但是关于应用构建这块的工作,实际上是nuxt提供了。我把重心放在wpf和asp.netcore这边,这次的面试提问是出乎我的意料的。唯一的不同时我WPF没有在工作中用过,但vue在工作中用过,对于如何从零构建一个应用,显然时后者更有经验。但是vue/elementplus,或者或浏览器的响应式性能太烂了,一个表格,1000条数据就卡.
这在苏州是正常工资吗?我没见过市面,不了解苏州这边的人力市场 。
面试总是,要么很长时间没有,让我十分焦虑,要么就扎堆来,挑战我的时间表。不知道为什么,你们也是这样吗?
技术官问的东西都不是很深入那种——八股文式的询问,和前面的两次面试感觉很不同。如果有人说他们是来找解决方案的,我都要信了。我不知道这个面试是否可靠?
成都就业现在真的这么难吗?
我这个阶段的程序员真的是上不能上,下不得下的尴尬阶段吗?
我也在捡起英语,想着两年后外语对话,能不能进外企。但是今年有来了个外企撤离潮,怕要成49年入国军 。
最后此篇关于记录荒废了三年的四年.net开发的第三次面试,苏州斯莱克的文章就讲到这里了,如果你想了解更多关于记录荒废了三年的四年.net开发的第三次面试,苏州斯莱克的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一个网站。 必须登录才能看到里面的内容。 但是,我使用此代码登录。 doc = Jsoup.connect("http://46.137.207.181/Account/Login.aspx")
我正在尝试为我的域创建一个 SPF 记录并使我的邮件服务器能够对其进行评估。我在邮件服务器上使用 Postfix 并使用 policyd-spf (Python) 来评估记录。目前,我通过我的私有(p
我需要为负载平衡的 AWS 站点 mywebsite.com 添加 CName 记录。记录应该是: @ CNAME mywebsite.us-east-1.elb.amazon
我目前正在开发一个相当大的多层应用程序,该应用程序将部署在海外。虽然我希望它在解聚后不会折叠或爆炸,但我不能 100% 确定这一点。因此,如果我知道我可以请求日志文件,以准确找出问题所在以及原因,那就
我使用以下命令从我的网络摄像头录制音频和视频 gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=640,height=480,framerate=30/1
我刚刚开始使用 ffmpeg 将视频分割成图像。我想知道是否可以将控制台输出信息保存到日志文件中。我试过“-v 10”参数,也试过“-loglevel”参数。我在另一个 SO 帖子上看到使用 ffmp
我想针对两个日期查询我的表并检索其中的记录。 我这样声明我的变量; DECLARE @StartDate datetime; DECLARE @EndDate datetime; 并像这样设置我的变量
在 javascript 中,我可以使用简单的 for 循环访问对象的每个属性,如下所示 var myObj = {x:1, y:2}; var i, sum=0; for(i in myObj) s
最近加入了一个需要处理大量代码的项目,我想开始记录和可视化调用图的一些流程,让我更好地理解一切是如何组合在一起的。这是我希望在我的理想工具中看到的: 每个节点都是一个函数/方法 如果一个函数可以调用另
如何使用反射在F#中创建记录类型?谢谢 最佳答案 您可以使用 FSharpValue.MakeRecord [MSDN]创建一个记录实例,但是我认为F#中没有任何定义记录类型的东西。但是,记录会编译为
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve thi
我是 Sequelize 的新手并且遇到了一些语法问题。我制作了以下模型: // User sequelize.define('user', { name: { type: DataTyp
${student.name} Notify 这是我的output.jsp。请注意,我已经放置了一个链接“Notify”以将其转发到 display.jsp 上。但我不确定如何将 Stud
例如,这是我要做的查询: server:"xxx.xxx.com" AND request_url:"/xxx/xxx/xxx" AND http_X_Forwarded_Proto:(https O
我一直在开发大量 Java、PHP 和 Python。所有这些都提供了很棒的日志记录包(分别是 Log4J、Log 或logging)。这在调试应用程序时有很大帮助。特别是当应用程序 headless
在我的Grails应用程序中,我异步运行一些批处理过程,并希望该过程记录各种状态消息,以便管理员以后可以检查它们。 我考虑过将log4j JDBC附加程序用作最简单的解决方案,但是据我所知,它不使用D
我想将进入 MQ 队列的消息记录到数据库/文件或其他日志队列,并且我无法修改现有代码。是否有任何方法可以实现某种类似于 HTTP 嗅探器的消息记录实用程序?或者也许 MQ 有一些内置的功能来记录消息?
如果我有一条包含通用字段的记录,在更改通用字段时是否有任何方法可以模仿方便的 with 语法? 即如果我有 type User = // 'photo can be Bitmap or Url {
假设我有一个名为 Car 的自定义对象。其中的所有字段都是私有(private)的。 public class Car { private String mName; private
当记录具有特定字段时,我需要返回 true 的函数,反之亦然。示例: -record(robot, {name, type=industrial, ho
我是一名优秀的程序员,十分优秀!