软件工程师高级考题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程师高级考题

设计一个分类功能

这个功能,可用于行政区域划分,商品分类等等....

例如中国->广东-深圳 .....

设计要求:

1.无限极分类,层次深度不限

2.快速检索,不能使用递归

3.只能使用一个数据库表实现

4.可以生成树形目录

商品以及属性功能的设计

一个商品有很多属性,如规格,颜色这些有固定值的属性,又如如重量,体积是需要填写具体数值的,并且还有对应的单位。

设计要求:

1.商品分类(上一个问题中已经实现)

2.商品属性,有多个属性,且数目不确定,所以需要设计成可以无限添加

3.商品属性即可下拉选择,也可以填写具体数值

问题:

1.商品搜索怎么解决,包含商品名称,属性,属性值,描述的搜索

2.商品的库存怎么设计

3.分类搜索,怎样列出所有子分类以及子分类下的所有分类(无限深度)

用户注册的功能需求

场景模拟:用户开户注册时常常填写了一部分资料,就离开了,有几种情况

1.用户放弃注册

2.网络连接失败

3.提交出错

4.其他链接吸引了用户点击

等等原因......

需求:

1.要求记录用户填写资料,再次回来(数日/数月后)点击注册的时候,用户不用重新填写所有资料,只需完成未完成的部分即可。

2.重要资料例如手机,电邮,即时通讯号码等等需要记录到数据库,已被公司回访客户。

3.在用户成功注册后应该删除之前保留在数据库中的手机,电邮,即时通讯等等。

问题

请问如何实现?资料怎样保存?

事务处理相关

简述什么是事务处理?

在不能使用数据库的事务处理以及锁(表锁/行级锁)时,怎么保持数据一致性?怎么解决数据库并发操作?

1. 怎样解决避免多个用户读读取同一条数据记录?

2. 怎样避免多个用户更新同一条数据

模拟题一

例如有一个电商网站每个小时有100个用户下单,公司需要有10个客服处理用户的订单。

问题:

1. 当10位员工进入admin后台,查看订单会出现什么问题?

2. 怎样防止一个订单被一个以上的人看到?

3. 如果两个员工同事看到同一个个订单,怎样避免员工,重复审批同一张订单?

4. 如果订单X最先被员工A点开,这是员工A去忙其他事情,X 定点就会一直挂起,怎样将订单重新分配?

开发框架

1. 简述 MVC 原理以及实现

2. 怎样实现 URL 路由

3. 怎样实现类,方法访问权限控制

请问下面代码怎么实现?用你最熟悉的语言实现。

{% highlight java %}

DB db = new DB() db.select(new

field("name","age"...)).from("user").where(new And("xxx=xx", "xxx=xxx")).limit(10).offset(10).orderby("id",DESC) {% endhighlight %}

进程与多线程

1. 什么是阻塞,什么是非阻塞?

2. 什么是同步,什么是异步?

3. 什么情况下使用线程锁?

4. 进程与线程的区别?

5. 进程间通信有那几种,线程通信有那几种,以及各自的优势?

相关文档
最新文档