腾讯软件开发笔试题

这是一位应聘腾讯软件开发-应用开发方向(.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、更新限制:视图是只读的,更新时需要更新原表,数据更新对用户来说很麻烦。

时间: 2024-10-27 18:26:26

腾讯软件开发笔试题的相关文章

leetcode笔记:Gray Code(2016腾讯软件开发笔试题)

一.题目描述 The gray code is a binary numeral system where two successive values differ in only one bit. Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin wit

深圳科陆集团软件开发笔试题

一个校园实验室的纳新试题——(2)我的服务端开发笔试题

晚上整理 一个校园实验室的纳新题——(1)资源整理 http://www.cnblogs.com/corvoh/p/4869403.html 服务端开发笔试题 1.简述const与define的区别. 在PHP中定义常量时,const与define的区别: 用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时 要比define快得多.在PHP 5.3.0 以后,可以使用const关键字在类定义的外部定义常量,先前版本const 关键字只能

聚聚科技——php开发笔试题及答案

聚聚科技是一个刚创立的公司,很小很小,人很少,老板感觉是个典型的北京小伙儿,戾气很重,很有个性.笔试题倒是简单: 1. echo(), print(), print_r()的区别? echo是PHP语言结构, print和print_r是函数.语言结构没有返回值,函数可以有返回值(即便没有用)  . print()      只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo        输出一个或者多个字符串 2.

使用PowerShell解三道测试开发笔试题

在网上看到了三道测试开发的笔试题,答案是用Python解的.这段时间正好在学PowerShell,练习一下:) 1. 验证邮箱格式 2. 获取URL的后缀名 3. 获取前一天时间或前一秒 我的解法是: 1 # Check Email format 2 Write-Host "Please input your email address" 3 $email=Read-Host 4 $regular="[a-zA-Z0-9]\@[a-zA-Z0-9]\.[a-zA-Z0-9]&

C++软件开发面试题总结

面试题有难有易,不能因为容易,我们就轻视,更不能因为难,我们就放弃.我们面对高薪就业的态度永远不变,那就是坚持.坚持.再坚持.出现问题,找原因:遇到困难,想办法.我们一直坚信只有在坚持中才能看到希望,而不是看到希望才去坚持. 人生没有如果,只有结果和后果.既然选择了,就不后悔.年轻就是资本,年轻就要吃苦,就要历练.就要学会在坚持中成长.如此感慨,至深的心得体会,绝对的经验之谈. 1. Static有什么用途? (1)函数体内static变量的作用范围是该函数体,该变量的内存只被分配一次,因此它的

聚聚科技---PHP开发笔试题及答案

1. echo(), print(), print_r()的区别? echo是PHP语言结构, print和print_r是函数.语言结构没有返回值,函数可以有返回值(即便没有用)  . print()      只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo        输出一个或者多个字符串 2. 语句include和require的区别是什么?为避免多次包含同一个文件,可用(?)语句代替? require 生

2014网易前端开发笔试题-解答

原文来自:http://yjbys.com/bishi/timu/585868.html 主要是为了今晚的网易笔试.整理一下 1.(2分)对于多关键字而言,那种文件组织方便而又高效() A.顺序文件 B.倒排文件 C.散列文件 D.B+树索引文件 解析:答案 B. 文件在外存上的基本的组织方式有四种:顺序组织,索引组织,散列组织和链组织;对应的的文件名称分别为:顺序文件.索引文件.散列文件和多关键字文件.选择哪一种文件组织方式,取决于对文件中记录的使用方式和频繁程度.存取要求.外存的性质和容量.

前端开发笔试题

part1:Css 1.css中,Transform,Transition,Animation的区别?import和link的区别? 2.请用css画一个三角形和圆? 3.请解释css sprites和iconfonts? 4.行内元素和块级元素的区别? part2:JavaScript 1.列举异步加载JS的方式? 2.给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组? 3.请用JS编写一个方法实现获取url参数值