【面试题】新东方.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 语言不采用严格的“ ...
随机推荐
- 性能优化系列四:Tomcat优化
一.Tomcat工作原理 1. TCP的三次握手四次挥手 三次握手: 说明: 类比于A和B打电话: A对B说:你好,我是A,你能听到我说话吗? B对A说:嗯,我能听到你说话 A对B说:好,那我们开始聊 ...
- 初步了解学习将传统单机应用改造成Dubbo服务的过程
Dubbo作为RPC框架,实现的效果就是调用远程的方法就像在本地调用一样.如何做到呢?就是本地有对远程方法的描述,包括方法名.参数.返回值,在Dubbo中是远程和本地使用同样的接口:然后呢,要有对网络 ...
- Android开源库项目集锦
一.兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才開始支持的,ActionBarSherlock是让Action Bar功能支持2.X后的全部平台. ...
- QMusic
https://github.com/dragondjf/QMusic QMusic是基于python + PyQT5 + QML的一款本地音乐播放器,旨在提升Linux下更好的音乐播放 ...
- HTTP 错误 500.19 配置文件错误 ( 0x8007000d,0x80070032)
HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息模块 IIS Web Core 通知 未知 处理程序 尚未确定 ...
- 6.查找单链表中的倒数第k个结点
普通思路:先将整个链表从头到尾遍历一次,计算出链表的长度size,得到链表的长度之后,就好办了,直接输出第(size-k)个节点就可以了(注意链表为空,k 为0,k为1,k大于链表中节点个数时的情况) ...
- chrome浏览器表单自动填充默认样式(背景变黄)-autofill
之所以出现这样的样式, 是因为Chrome会自动为input增加如下样式. 这个样式的优先级也比较高. 无法通过important覆盖(这就比较恶心了). 解决方案(3种): 1. 关闭自动保存账号密 ...
- cocos2d - 翻转两个Sprite
用两个图片初始化两个CCSprite,一样的大小,重叠在一起,分别叫做 foregroundNode 和 backgroundNode . - (void)flipover { if (isFlipi ...
- Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作不允
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read ...
- JSP内置对象—session
什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...