开发人员面试题目分享(来看看不一样的面试题吧)

第一题: 现需通过网页批量导入一万个人力数据到系统中,且每项数据都要做格式化处理才能入库,在保证数据准确、完整的前提下,要求在网页上显示导入任务的执行进度,该如何实现 第二题: 现需通过网页批量导入一万个人力数据到系统中,且每项数据都要做格式化处理才能入库,在保证数据准确、完整的前提下,要求把导入时间缩短一半,该如何实现 第三题: 假设多个用户同时访问一个网页,这些用户可以触发该网页上一项耗时较长的后台任务,现要求这些用户的任务排队依次执行,该如何实现 第四题: 现需要写一个操作系统服务,来循环执行某项任务,该任务每个小时执行一次,任务耗时可能会超过一个小时,要完成此工作需要注意哪些内容 第五题: 当系统管理员删除掉一个用户的同时,这个用户很可能正在查看系统的敏感信息,管理员往往希望在删除一个用户的时候,如果这个用户在线,则“尽快”把他“踢”下线,请问如何实现这个功能? 第六题: 假设一个B/S结构的系统拥有一万个用户,从现在开始,要求每个用户登录成功12个小时之后,处理一项复杂的耗时任务,(从用户登录成功开始计时,12个小时计时结束之后,马上处理任务)该如何实现? 第七题: 在开发需要多人协作的系统时,往往会使用多个数据库:开发库,测试库,生产库;那么这三个数据库间的数据库表结构同步就将成为一个问题,比如:开发者A在“开发库”中添加了一个表,开发者B修改了一个表,这些数据库结构的变更势必要同步到测试库和生产库中去,请如何便捷、高效、不易出错的方式处理此问题? 第八题: 数据库事务能有效的保证数据的完整性,然而却比较消耗系统资源。在需要应对高并发的应用系统中,往往都会尽量少的使用数据库事务,请问针对某一张表的数据,如何做到不使用数据库事务,又能保证数据的完整性

直接说第二弹的题目,

这些题目都是环环相扣,由浅入深的(您看到很浅的题目,千万别笑,继续往下看)

第一排:

第一题:设计一个多对多关系的表结构,比方说一个老师有多个学生、一个学生有多个老师,一般需要几张表?

第二题:在这三张表中有一张表是关系表,关系表中需要什么字段?

第三题:假设老师表中有两个老师,其中一个老师有三个学生,另一个老师没有学生,我要查出“所有老师和这些老师的学生”,怎么写这条SQL语句,会得到几行结果记录?

第四题:你用了两个left join对吧?一般情况下调整表名前后顺序,都可以把right join换成left join,但在一些特殊场景下,你不用right join就解决不了问题或者说很难解决问题,你能不能给我说一个这样的场景?

(最后一题是烧脑的题目)

第二排:

第一题:假设我要做一个和菜单相关的业务,这个菜单是无限分级的,一级菜单、二级菜单、三级菜单....有无限个层级;而且每个层级都可能有很多个菜单,我要把这些菜单数据存储到数据库中,“最少”需要几张表?

第二题:假设业务上只需要菜单的名字,那么你这张表里“最少”有一个字段,都是什么?

第三题:我需要你设计一个方法,这个方法的传入参数是一个菜单的ID,输出参数是这个菜单的层级,你怎么做?

第四题:如果我业务上要频繁的获取菜单的层级信息,那么你会怎么对这个设计进行构调优?

第五题:好的,现在已经为你加了一个“菜单层级”的字段,假设我这个“菜单树”只有一个顶级节点,我现在需要从这棵树中随机抽取一个节点,把这个节点调整成顶级节点,把原来的顶级节点调整成这个节点的子节点,你打算怎么做

(最后一题是烧脑的题目,要注意,整棵树所有的节点的层级都会变化)

第三排:

第一题:你在开发过程中有用过多线程吗?是在什么业务场景下用的?

第二题:你既然用过多线程,那么你用过线程锁吗?你能不能给我说一个业务场景,在这个业务场景下必须用线程锁,如果不用线程锁就可能会出问题?

第三题:假设有一项任务,需要你开很多个线程去并行执行这项任务;centos_x64系统,8核8G内存,任务是计算密集型的任务,你觉得你最多开到多少个线程就需要申请加服务器了?

第四题:假设给了你10台服务器,让你并行处理这项任务,现在需要让你设计这个分布式系统,你把技术关注点列给我看看好吗?

(最后一题是烧脑的题目,描述的很含糊,要让面试者自己提问,从提问中看面试者的技能水平)

源于http://www.cnblogs.com/liulun/category/238150.html

猜你喜欢

转载自action-java.iteye.com/blog/2217667