开发人员面试题目分享(来看看不一样的面试题吧)【第二弹】

第一弹的地址在这里:

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

 

直接说第二弹的题目,

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

 

第一排:

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

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

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

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

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

 

第二排:

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

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

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

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

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

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

 

第三排:

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

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

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

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

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

 

 

 

要下班了,就写这三排,以后在写其他的!

喜欢请点推荐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值