高级软件工程师nbsp20169月

高级软件工程师

下面的面试题不分语言,适用于所有编程语言,更多偏向设计。

设计一个分类功能

该功用于行政区域划分,商品分类,等等例如中国-广东-深圳.....

要求:

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

快速检索,不能使用递归

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

可以生成树形目录

商品以及属性功能的设计

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

要求:

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

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

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

问题:

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

商品的库存怎么设计

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

用户注册的功能需求

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

用户放弃注册

网络连接失败

提交出错

其他链接吸引了用户点击

等等原因......

需求:

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

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

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

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

事务处理相关

简述什么是事务处理?

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

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

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

模拟题一

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

问题:

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

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

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

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

开发框架

简述MVC原理以及实现

怎样实现URL路由

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

请问下面代码怎么实现?

用你最熟悉的语言实现。

{%highlightjava%}

DBdb=newDB()db.select(newfield("name","age"...)).from("user").where(newAnd("xxx=xx","xxx=xxx")).limit(10).offset(10).orderby("id",DESC)

{%endhighlight%}

进程与多线程

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

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

什么情况下使用线程锁?

进程与线程的区别?

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

消息队列

消息有哪些瓶颈?

序列化

什么是序列化

常用序列化方式都有哪些

CDN应用

CDN缓存的原理?

CDN都可能缓存那些内容?

网站首页90%的内容是静态的,但是用户登录状态,消息状态是动态的怎么解决?

JSON可能缓存吗?

浏览器缓存与CDN缓存的关系,怎样实现用户浏览器与CDN同时缓存?

面向对象试题?

编写一个求和程序

s=newSum();s.add(10).add(5).add(6)s.add(10).add(5).add(6)......add(3)可以无限的写下去obj=newObject()obj.a()obj.b()obj.c()......obj.z()obj.a().b().c()...z()

与上面类似

这是一个简单的OOP面试题,在做多年的面试经验中,发现很多人不知道怎样实现上面的问题

Restfull试题

Restfull是基于HTTP协议的RPC系统,对于公共服务不存在安全上面的考虑,调用方法也多是ajax,所以公共系统是开放的。

如果是私有服务,就需要考虑安全问题了,试题如下:

CQRS问题

什么是CQRS

可以在那些地方处理CQRS

请为Restful增加HTTPAuth

怎样为Restful增加HTTP认证

增加







































中科白癜风微信账号
北京中科白癜风医院地址



转载请注明地址:http://www.henanledxianshiping.com/fjgcjs/2939.html
  • 上一篇文章:
  • 下一篇文章: