05.20拼多多Java后端一面分享

#拼多多面经##Java面试#
项目提问
1.项目的输入输出是什么
2.项目的难点是什么
3.这个项目你参与了多少的开发,代码占比多少?

八股提问
1.JVM的结构是什么
2.数据库事务的隔离性你了解吗
3.HashMap的结构你了解吗
4.如果HashMap出现了哈希冲突,该如何解决(不太会)
5.死锁了解吗
6.垃圾回收了解吗

场景题提问
1.一个用户登录场景,如果密码输错三次,就锁定24小时,请问该如何实现?
2.有两个盒子,一个盒子装10000个蓝球,另一个盒子装10000个红球,每个小球的质量在1-100g之间。给你一个天平,你需要每次从两个盒子中各取一个球,使得他们质量相等,你该如何去做?

手撕环节
1.LeetCode740原题:删除并获得点数,使用动态规划

反问环节
1.询问了用户登录该怎么做
回答:就是在数据库加几个字段,
bool flag是否锁定
int count 输错次数
time last_error 上一次输错的时间
然后写一个登录的逻辑。
.
2.两个盒子该怎么做
回答:就是对两个盒子进行排序,之后就变成了寻找两个有序数组的相同值,用双指针就好。

3.我该做哪些准备
回答:应该加强工程能力(我只写了课题组的项目,没有做正经的Java项目)。
全部评论

相关推荐

1.问:面向对象三大特征答:封装,继承,多态2.问:hashmap的put过程【转红黑树的过程看一下8和64这俩特定的数字,数组扩容的情况就看扩容阈值】答1.计算哈希值和索引的位置(通过hashcode方法获取其哈希值,得到其在数组中的位置)2.判断桶位是否为空(计算在数组中的位置之后,判断是否产生了哈希冲突,如果没有产生哈希冲突,直接放入,如果产生了hash冲突)3.处理哈希冲突(链表/红黑树) 【不同的键可能计算出相同的哈希值】(通过比较hashcode和equal函数的结果来判断是完成对一个键的更新操作还是添加一个新的键值对)4.容量检查与扩容(不论是空桶上直接插入还是处理哈希冲突都会使hashmap的元素数量增加1,每次size增加后,hashmap都会检查当前的size是否超过了扩容阈值,默认是0.75,如果超过阈值就会扩容产生一个容量为旧容量2倍的数组)3.问:arraylist和linkedlist的区别答:一个是数组一个是链表一个适合读一个适合写4.问:工厂模式和策略模式答:工厂模式:spring使用beanfactory和applicationcontext创建bean对象策略模式:Spring 通过各种接口(如 Resource及其多种实现,允许在运行时根据不同需求切换具体的算法或行为5.问:说说对数据库中索引的理解答:按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。按「字段个数」分类:单列索引、联合索引。
查看5道真题和解析
点赞 评论 收藏
分享
06-24 10:29
门头沟学院 Java
点赞 评论 收藏
分享
评论
6
17
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务