腾讯的软件开发-应用开发方向笔试与面试

一、笔试(时间:9月23号)

腾讯的软件开发-应用开发方向笔试与面试

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

二、一面(时间:9月27号)

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

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

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

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

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

事务是什么?

范式是什么?

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

类和接口有什么区别?

类和抽象类有什么区别?

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

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

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

你的五年规划?

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

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

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

你的五年规划?

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

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

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

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

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

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

经验:

三层架构的劣势:

1. UI层逻辑过于强大。

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

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

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

工厂模式的本质:

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

五大设计原则:

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

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