|
发表于 2022-12-1 17:27:02
|
显示全部楼层
小白挺幸运,又接到了一个外企的面试,不过这个外企也是外包公司,也是六险一金,不过就是没有啥福利,估计外包公司都这样吧。hr小姐姐居然是在成都工作,小白与她聊得还不错,公司居然在成都,这业务做得够远的啊。招聘要求需要前后端都能干,而且需要会英语读写,现在.NET估计没有纯后端的开发了吧。一面是电话面试,面试官比较friend,面试题也很简单,就问了几道题就通过了。面试内容如下:
一、前端
前端题比较简单,就问了一下jquery 的遍历单词和隐藏控件单词,估计是考察对英语的属性吧。如果不常用或长时间不用,有时候真忘记了。
jquery的遍历语句:each ,jquery隐藏控件:hide
二、后端
1、第一道题问的是数据库方面的试题:数据表有两个字段一个状态另一个是邮箱,状态枚举为0和1,如果是0的话未发邮件;要求用.NET Core来实现定时执行邮件发送功能,说出思路。如果表中增加一个字段在生产环境怎么操作?
2、怎么在linux下部署.NET Core应用,说出步骤
3、怎么实现redis缓存数据一致性
4、项目相关的知识,这个主要问简历中的项目问题,比如如何实现主从同步......?
面试题解答:
1、第一题有很多方案,大体上是做个定时任务去查询表中为0的状态,然后发送邮件,发送成功后置为1,如果邮件数量多的话可以用队列等中间件。“如果表中增加一个字段在生产环境怎么操作?”这个问题有难度,如果有DBA,一般由DBA来操作,要不是由发版人员根据程序员的SQL来更新,如果用EF等自动化迁移的话还是有一定的风险的,大家有啥好方案吗?
2、怎么在linux下部署.NET Core应用,说出步骤
可以查看这篇文章:三步实现.NET6部署到Docker
3、怎么实现redis缓存数据一致性
这个问题也是常考的的面试题,根据实际情况来解答。绝对的数据一致性是没有了,方案有两种,一是"采用延时双删策略",更新是先删除缓存,再写入数据库,然后等待200毫秒后再次删除缓存(为啥二次删除,可能更新未完成而缓存又读取,所以等200毫秒后再次删除保证同步),二是同步方案,有两种,整库同步和发生变化同步,推荐第二种方案。
4、项目相关的知识,这个主要问简历中的项目问题,比如如何实现主从同步......?
这个问题根据招聘条件的知识点来回答,比如招聘中写有ORM要求那么介绍项目时偏重ORM。这里没有标准答案。
结语
这次面试很快,很成功,当时小白就通过了面试,HR小姐姐让等2面的通知了。一面简单意味着二面的难度会提示,这得注意。另外这个是外包公司,一面有可能是乙方来面的,所以简单。希望本文对你有所帮助,欢迎留言或者提出异议。除了面试题是真的,面试场景人物纯属杜撰。
<hr/>关注公众号:DotNet开发跳槽❀觉得不错,请点个在看呀 |
|