zoukankan      html  css  js  c++  java
  • 腾讯软件开发笔试题

    这是一位应聘腾讯软件开发-应用开发方向(.net方向)的求职者经历的笔试,请看他为大家分享的经验:

      一、笔试

      数据库(较多)、编译原理(一题)、操作系统(主要)、数据结构(主要)

      二、一面

      SQL语句::求平均分在60分以上的同学学号和平均分数

      两个水桶、一个5L、一个6L,叫你称3L

      如何统计全国的便利店的数量?

      你在看电视,突然电视机黑了,你怎么办?

      你住在荒郊野岭的一个旅店里,三更半夜,你想吃烧烤,你会怎么做?

      事务是什么?

      范式是什么?

      说一下你对面向对象的理解。

      类和接口有什么区别?

      类和抽象类有什么区别?

      系统架构(三层架构的劣势是什么?)

      设计模式(五大设计原则、工厂模式)

      你看过的专业课外书有哪些?

      你的五年规划?

      CLR 如何与底层交互?(这是.net底层知识)

      Httphandler和 httpmoduler 的区别?这是.net底层知识)

      三、二面(时间:9月28号)

      你的五年规划?

      关于应付团队成员矛盾、项目需求矛盾、团队责任心等问题的提问。

      1) 你的队员极力反对你的意见,你怎么办?

      2) 当你觉得项目的需求有问题的时候,你会怎么办?

      3) MS SQL的视图功能并不强大,你如何处理?

      4) 你如何释放工作压力?

      (突出点:语言表达能力、思维逻辑、团队沟通、责任心)

      经验:

      三层架构的劣势:

      1. UI层逻辑过于强大。

      2. 逻辑层与数据库访问层一般是一一对应的,所以逻辑层会形同虚设。

      3. 难以测试,把UI层撤掉,底层无法测试(测试用例全在UI层)

      4. 分布式存储各层,容易遭到攻击(获取UI层后,底层所有的信息都将曝露)

      工厂模式的本质:

      对象的创建,解决new 的问题(依赖注入是其中一个应用)

      五大设计原则:

      1. 开放封闭原则(OCP原则)

      2. 里氏代换(父类引用出现的地方可以用子类对象来代替)

      3. 依赖倒转(抽象不依赖于具体,具体依赖于抽象)

      4. kiss原则(keep it sample)

      5. 不要和陌生人说话(单一职责,模块化)

      CLR 如何与底层交互:

      CLR 类似于java 的虚拟机,是应用程序 与操作系统 之间 的一个中间件,在CLR 中有 CTS JIT CLS CIL CLI 等,运行时,CLR 通过加载程序集到内存中,生成类,创建对象,调用方法,生成代码,通过JIT 编译成为CLR 的中间代码,然后CLR把中间代码转换成为可执行的机器代码。

      .net frameword 通过 CLR 拥有跨语言的特点 (因为有CLS 通用语言规范)可以让各种支持的语言(例如C++ 、C# 、 J# 等)进行相互通信、调用等,这与java虚拟机可以跨平台的特点有所不同(.net frameword 跨语言,不过目前可以通过在 .net frameword 下多加一层 中间层 (mono) 可以实现跨平台的操作,即.net 编写的程序 可以发布在linux 上,而不仅仅是windows上)

      Httphandler和 httpmoduler 的区别

      http 请求的通常为静态页面 或者动态页面 ,在asp.net 中 ,当客户端的请求到达的时候,需要通过一个管道(好像有18个管道)来进行处理,httpmoduler 就是用来获取请求消息,过滤请求消息用的,一般静态的页面都会都httpmoduler 来处理,而Httphandler(好像是第8个或者第11个管道)是真正处理请求的地方。在IIS中,如果客户端请求是动态页面的话(JSP、ASP、 ASPX等)则需要ISAPI 对应的处理程序(一般为DLL )来处理,而这个处理过程就是由Httphandler 中的processrequest 函数来进行处理 的,处理完毕以后,将生成相应的html页面返回。

      你的队员极力反对你的意见,你怎么办?

      1. 比较自己和队友的意见如何,优劣的比较。

      2. 各自实现出来(可以只是原型、核心部分),比较优劣。

      3. 队员投票。

      4. 请求上级,上级一般比我们经验丰富。

      当你觉得项目的需求有问题的时候,你会怎么办?

      1. 自己思考需求是否要进行改动。

      2. 队员之间讨论。

      3. 请求上级

      团队和项目问题时:

      项目要说清楚,框架,系统特点要突出。

      团队问题主要考你的责任心,独立思考的能力,团队协作能力。

      回答方法:先从自身入手,自己要先思考,再到队员讨论,投票,最后到上级。

      视图的优缺点是什么?

      优点 :

      (1)视图能简化用户的操作

      (2)视图机制可以使用户以不同的方式查询同一数据 (一个基本表可对应多个视图)

      (3)视图对数据库重构提供了一定程度的逻辑独立性 (视图与应用对应,变换灵活)

      (4)视图可以对机密的数据提供安全保护 (可以做到混淆视听的效果)

      缺点:

      1、性能:如果视图连接复杂,查询起来需要花费时间。

      2、更新限制:视图是只读的,更新时需要更新原表,数据更新对用户来说很麻烦。

  • 相关阅读:
    csv,exl自动提取表头两列英文字段按英文名称排序显示
    javascript:的用法
    OLAP ODS 项目总结 BI 中的关键
    一些性能查询的SQL 备忘
    ArcGIS 10 SDE for ORACLE 迁移 (3)
    如何测试一个ETL_BI 系统
    ArcGIS 10 SDE for ORACLE 迁移 (2)
    fsck.ext3: Unable to resolve 'LABEL=/design'
    ArcGIS 10 SDE for ORACLE 迁移 (4)
    BI 中关于度量的SQL计算
  • 原文地址:https://www.cnblogs.com/HuoAA/p/4396006.html
Copyright © 2011-2022 走看看