觉晓科技笔试 Java
首先是十五个单选题 涉及到的知识比较广,有jvm,程序结果判断题,spring相关知识等(一道题两分,一共30分)
然后是五个编程题,编程题都是开放性题目,差点把我给怎不会了
第一题 就是有一个公园,有一个手机掉里面了,请找出最短路径,输出格式类似坐标系(0,0)->(0,1)
第二题 写一个消费者和生产者模式,生产者一次生产3个,消费者一次也只能有三个来取
第三题 给了一个表(id,name,parentId),让你根据数据库中的记录,将这些记录编程一个树形结构,就是parentId指向的是父节点的id;然后还有一个第二小问(好家伙,我现在想起来了,当时忘了做了)
第四题 公司要设计一个支付模块,有支付宝,微信等支付方式,然后让你来设计(需要用设计模式)
第五题 两个字符串str1,str2,str1需要多少次变换才能编程str2,可以对str1的字符做增删改(我当时的思路是在str1中按str2字符顺序找到和str2中的相同的字符,然后判断这些字符连起来是不是等于str2,差字符的话,就增加。。。现在看来这个思路漏洞很多)
问答题:
1.synchronize锁升级过程
2.谈谈对CAP的理解