【面试题】新东方.NET工程师面试题总结
1、学校几本(是否统招)、英语等级、大学成绩排名Top%几、当前月薪(入职前是否能提供薪资证明材料)、期望月薪
二本,统招
英语四级
排名top10
2、做过的项目技术栈是什么?(例如 .NET、Sql Server、Dapper、EF、Redis……)
.NET、C#、EF、MVC、SQL Server、Oracle、WebService、API、SDK、Redis、JPush、Lucene.Net
Html、css、JavaScript、Ajax、Jquery、AngularJS、Bootstrap
iOS、Objective-C、Winforms、WPF
3、做过的项目中最大的表数据量大概多少?业务高峰期每分钟并发请求数量大概多少?遇到的最大技术难点与解决方案,研究过的.NET开源项目,举例说明3-5个
最大的表有200万条数据,数据查询出现慢的情况,优化方案:在条件语句的列上加索引;优化SQL避免like,in、not in等;使用分页临时表避免全表扫描;
高峰期每分钟并发请求2千左右;
技术难点:团队创立初期,APP刚刚上线,功能在逐步完善。当时为了推广拉新,想开发一个功能,实现APP的在微信里的传播分享。网站享用的是微信开放平台的网站应用号授权,还有另一块是微信公众平台公众号分享,分别是不同的两套APPID,授权之后会获取到两个不同的OpenID,希望用户信息打通,用户只要授权过一次之后就能在另一个模块实现免登陆。由于当时一心想通过业务存储两个不同的OpenID的关联关系,做到统一,结果走了不少弯路,仍然达不到想要的效果。
解决方案:UnionID,将两个账号在后台关联之后就能获取到统一的UnionID,业务记录此ID即可。
开源项目
Json.net Json序列化和反序列化,基本支持所有的json特性,性能也很好,MVC4的默认引用程序集中已包含.
Log4net 传统的日志框架,移植于log4jV1.2,高效,稳定
Html Agility Pack Html解析库
DotNetZip 创建,压缩,解压Zip文件
DotNetCodes 一些常用的功能性代码Utilities,可以减少许多开发时间,而且类与类之间没有什么依赖,每个类都可以单独拿出来使用,excel导出、二维码生成、网络请求等;
4、.NET系统如何实现水平扩展、如何解决高并发问题,解决方案思路
应用服务和数据服务分离:把网站分为应用服务器、文件服务器和数据库服务器,不同服务器承担不同角色,从而提成网站处理能力和文件存储能力;
数据库读写分离:通过配置主从服务器实现数据库读写分离,改善数据库负载压力;
业务拆分:根据产品线拆分,例如订单、商铺、买家等,分归不同业务团队管理,不同业务分不同物理服务器处理,可以通过消息队列进行数据分发;
使用NoSQL和搜索引擎:应用服务器通过统一模块访问各种数据,减轻应用程序管理数据源的麻烦;
应用服务器集群:通过负载均衡使一批设备共同对外提供服务,由统一调度服务器通过调度策略进行分发,当有服务器宕机时,调度服务器会将请求转移到其他服务器上,保证不影响用户使用;
分布式文件系统和分布式数据库系统:将业务拆分成不同模块,不同业务的数据库放在不同的物理服务器上;
缓存:包括本地缓存、分布式缓存、反向代理和CDN加速;
使用缓存改善网站性能:把业务经常访问的数据缓存到内存中,可以大大减少数据库的读取访问压力,从而改善写入性能,方式有本地缓存和分布式服务器缓存,部署大内存服务器;
反向代理和CDN加速:基本原理都是缓存,用户请求服务时,通过距离判断最近机房代理服务器中缓存这用户请求的资源,直接返回给用户,减轻后端服务器负载压力;
异步操作:典型的生产者消费者模式,两者不存在直接调用,只要保持数据结构不便,彼此功能实现可以随意变化而不互相影响;
固态硬盘代替机械硬盘:使用SSD,物理设备上加快文件访问速度;
5、国内外基于.NET技术的知名网站有哪些,.NET与Java相比有哪些优点、缺点,如何看待微软全新一代.NET Core开源、免费、跨平台的未来发展前景
.NET知名网站
国外:microsoft、stackoverflow、codeproject、myspace、Godaddy、msn、
国内:cnblogs、csdn、智联、携程、必应、起点、凡客
.NET和java对比
开源和跨平台,Java一直开源跨平台,有非常丰富的社区资源;微软14年也宣布开源跨平台,有.NET Core、xamarin,微软正在努力,但做到Java现在的程度个人觉得还有很长一段路要走。
编程工具,C#有好用的IDE Visual Studio;Java以前有eclipse,现在有Intellij。
语言特性,两者语法类似,C#feature更多(语言特性,泛型、委托、重载运算符、LINQ、lambda、delegate、扩展等),语法糖也更多,程序员基本可以专注逻辑而不用关注如何实现;而Java这块比较贫乏。
更新速度,C#由微软维护,版本更新快,支持更多新特性;java版本更新慢。
应用领域,C#目前主要应用在windows的PC应用,unitity3D,web。Java应用于web,Android,Hadoop等。
生态环境,个人认为最重要的一点。开源库和框架Java数不胜数,各种层面的解决方案眼花缭乱,C# web比较好用的框架只有asp .net、MVC。
.NET Core未来发展前景
个人看好 .Net Core 的未来发展前景。
.NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。首先从Core的定位上来说,他摒弃了原有AspNet的那些臃肿组件,面向高性能服务器开发。虽然现在版本功能还比较弱,各类三方库支持也没有更新,但是这只是时间问题,以微软的更新速度和推广力度,几年后必将完善。
基于微软的 Azure 云的平台优势,后期势必会加入 .Net Core 的支持,加上微软的跨平台战略,对 Docker 的亲和性,对于开发人员也非常友好,所以整体环境来说是健康发展的,未来技术决策时 .Net Core 也有很大的优势。
因此未来其发展主要看的就是微软推广力度及社区开发者的支持度。
喜欢C#就会一直坚持下去,因为兴趣是最好的老师。
6、www.dot.net官网任选一篇英文技术文章,不用单词软件大概能看懂百分之多少?
看了一篇教学文章
https://www.microsoft.com/net/tutorials/csharp/getting-started/hello-world
全部英文文档大概能看懂百分之80
7、我们会根据以上信息进行岗位匹配度的评估(教育背景、技术能力、抽象总结能力……),节省应聘者的面试成本,提升招聘效率
8、为了方便及时沟通,请加技术经理微信 2531685528 注明:应聘.NET 姓名
-------------------------------------------------------
【.NET技术面试参考资料、图书】
1、《大型网站技术架构》
2、《Sql Server性能优化与管理的艺术》
3、《跟阿铭学Linux》
4、《深入浅出MySQL数据库开发优化与管理维护》
5、《微服务设计》
参考资料共享地址
http://pan.baidu.com/s/1nvUc1nz
http://www.apelearn.com/study_v2/
【面试题】新东方.NET工程师面试题总结的更多相关文章
- Web前端开发工程师面试题
Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...
- 转:一份基础的嵌入式Linux工程师笔试题
一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...
- iOS开发工程师笔试题
iOS开发工程师笔试题 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以 ...
- 北京南天软件java工程师面试题
此试题为北京南天软件java工程师面试题(部分) 一.单项选择 (1)下列关于构造方法的叙述中,错误的是(C) A.java语言规定构造方法名与类名必须相同 B.java语言规定构造方法没有返回值,但 ...
- PHP工程师笔试题
PHP工程师笔试题 提示:请将答案写在另外一张空白纸上,并在30分钟内完成. PHP 请写出include.require.include_once.require_noce的区别. include是 ...
- PCB设计工程师面试题
网上的一套PCB设计工程师面试题,测下你能不能拿90分? [复制链接] 一.填空 1.PCB上的互连线按类型可分为()和() . 2.引起串扰的两个因素是()和(). 3.EMI ...
- Java工程师笔试题整理[校招篇]
Java工程师笔试题整理[校招篇] 隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打 ...
- 珍藏版 Python 开发工程师面试试题
珍藏版 Python 开发工程师面试试题 说明:不拿到几家公司的offer,那就是卑鄙的浪费 一.Python_基础语法 1.可变与不可变类型: 2.浅拷贝与深拷贝的实现方式.区别:deepcopy如 ...
- python后端开发工程师考证试题
python开发工程师考证试题 问答题链接 python开发工程师考证试题 选择题 题目 关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) A: Python 语言不采用严格的“ ...
随机推荐
- Maven Web应用
创建Web应用程序 要创建一个简单的java web应用程序,我们将使用Maven的原型 - web应用插件.因此,让我们打开命令控制台,进入到C: MVN目录并执行以下命令mvn命令. C:MVN& ...
- (转)关于linux挂载window下共享文件
关于linux挂载window下共享文件的方法: ①事先建立linux下文件夹,例如“ /mnt/linux-folder”②用mount命令挂载 mount -o username=windo ...
- (转)在SDL工程中让SDL_ttf渲染汉字
有时候在关于SDL的博文中看到一些评论,说SDL对中文的支持不佳,因为当程序涉及中文时总是输出乱码. 照我个人观点,这里面很多都是误解.下面就根据我在windows下使用SDL的情况,说说我的观点. ...
- Yii2 中cookie的用法(1)
Yii使用 yii\web\Cookie对象来代表每个cookie,yii\web\Request 和 yii\web\Response 通过名为’cookies’的属性维护一个cookie集合, 前 ...
- 在 ubuntu 【6.06、6.10】 上安装 oracle 10.2.0.1,并打补丁 10.2.0.5
特点: ubuntu 6.06.6.10 算是很古老的ubuntu了,其应该是基于 debian 4 的 tesing/unstable 分支.所以,毛病较多. 如何安装oracle10g? 几个技术 ...
- python 在windows 中文显示
今天看到mechanize,在网上找例子实验,发现只要代码里出现中文,就会报错 SyntaxError: Non-ASCII character , but no encoding declared; ...
- C# dmp debug, can't load pdb file
1. Project->Properties->Build->Advance, Debug Info : Full/pdb-only . set to [none] will no ...
- BarTender条码检验位类型知识讲解
检验位类型指定BarTender使用哪一种算法来计算符号的附加检验位.使用“BarTender检验位类型”选项可以从您的符号所支持的检验位类型中选择一种检验位类型.下面,小编就给大家分享设置检验位类型 ...
- 如何用BarTender 2016字处理器完成表格设计
很多时候,需要应客户要求,用BarTender 2016设计带表格的标签.在BarTender 2016中字处理器文本对象可以使用字处理中的诸多格式功能(如项目符号.编号列表.表格.混合字体以及RTF ...
- jquery判断某个属性是否存在 hasAttr
在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new" 的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $(" ...