首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
开玩笑我超勇的啦
获赞
326
粉丝
17
关注
12
看过 TA
71
男
第一拖拉机制造厂拖拉机学院
2021
Java
IP属地:湖北
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑开玩笑我超勇的啦吗?
发布(47)
评论
刷题
收藏
开玩笑我超勇的啦
关注TA,不错过内容更新
关注
2020-05-30 16:13
已编辑
第一拖拉机制造厂拖拉机学院 Java
Java数据结构(一)- HashMap的实现原理
Java中HashMap的基本结构是数组+链表,数组中的每个地址位置称作“桶”,新添加的元素通过rehash判断存放在哪个桶里,如果桶中已存在元素则形成链表,将新元素插入链表中,JDK1.8之前采用头插法,之后改为尾插法。在JDK1.8之后,当链表长度达到8时则会重构成红黑树。 Q: 可以将HashMap底层的数组换成链表吗?A:不可以,如果将底层数组换成链表HashMap的查找效率将会从O(1)降低至O(n)。 Q: 为什么JDK1.8要引入红黑树?A:HashMap的遍历复杂度是O(1),但这是建立在Hash函数分布式均匀的基础上的,如果链表长度过长会导致查询效率降低,甚至极端条件下会降...
0
点赞
评论
收藏
分享
2020-06-03 19:17
已编辑
第一拖拉机制造厂拖拉机学院 Java
shopee后端实习一二面面经【攒人品求hr面】
5.14一面,全程 45分钟 1.JVM的结构 2.栈帧的大小是什么时候确定的? 3.Java编译后的.class文件是什么? 4.系统是如何给进程分配内存的?是否有地址是无效的? 5. 系统调用的过程是怎样的?他是通过什么机制触发的? 6. 多线程编程的锁你了解哪些锁? 7. 读写锁如果发生饿死怎么办?公平锁的机制是怎样的? 8. TCP如果一直用短连接会有什么问题? 9. HTTP提供服务的时候会有什么漏洞?讲讲xss攻击。了解CSRF吗? 10.了解Redis吗? 11.讲讲MySQL的索引 12. 手撕代码:A-F的全排列 ...
投递虾皮信息等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-05-22 21:42
已编辑
第一拖拉机制造厂拖拉机学院 Java
广联达Java开发一面面经
全程25min 1. 自我介绍 2. 链表探环 - 我一开始说用HashSet判断面试官居然没听懂,还问我判断的是值还是引用……我还解释了一下contains方法的原理是用hashcode + equals方法,面试官一阵沉默,我只好继续说了快慢指针法 3. Java内存区域划分 4. Java在哪些地方会出现内存溢出,如何避免?如果内存溢出了如何优化? 5. Java的线程的生命周期 6. 什么时候线程永远没法使用cpu? 7. 如何避免死锁发生? 8. 链表反转 9. 二叉树的bfs和dfs的区别,分别用什么数据结构储存 面试流程很短,问的问...
投递广联达等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-05-21 18:21
已编辑
第一拖拉机制造厂拖拉机学院 Java
刚面完二面 许愿Shopee hr面!
0
点赞
评论
收藏
分享
2020-05-16 00:01
第一拖拉机制造厂拖拉机学院 Java
LC46 - 全排列, 以及类似的dfs+回溯问题分析
好几次笔试面试碰到全排列问题了,这回来把它彻底吃透。 [1, 2, 3]这个序列我们要找到他的所有排列方式,那么先用树的形式把它表示出来:这就是上述问题的决策树了,从根结点到每一个叶子结点就是一种排列方式,我们要做的就是把这颗决策树用代码表示出来。 那么这里用到的方法就是dfs+回溯法,有一个通用的模版:直接套用模版得到dfs的方法即可,以下是代码: class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> ans = new Arr...
0
点赞
评论
收藏
分享
2020-05-13 23:08
第一拖拉机制造厂拖拉机学院 Java
LC31 - 下一个排列
这题直接举个例子更直观{1, 5, 8, 4, 7, 6, 5, 3, 1} 这样一个序列,我们想找比他大的下一个排序,那么首先要从后往前找第一个非升序的数字,也就是a[i] < a[i+1]的第一个(如果整个数组都是降序排列,说明它已经是最大的排列了,直接反转数组得到第一个排列),于是我们找到了4。这时候为了得到更大的序列,我们需要把4和它后面的一个比它大的数字交换,同时为了使交换之后的序列增大最小,我们需要找到从后往前第一个比4大的数字,于是我们又找到了5,将他们交换后得到 {1, 5, 8, 5, 7, 6, 4, 3, 1}, 最后将交换完成后的5之后的序列从小到大重排序,得到{...
0
点赞
评论
收藏
分享
2020-07-18 13:49
已编辑
第一拖拉机制造厂拖拉机学院 Java
LC279 - 完全平方数
https://leetcode-cn.com/problems/perfect-squares/submissions/ 这是一道和硬币问题类似的拿/不拿/拿多少的问题,可以用动态规划解决,首先维护一个大小为n+1的数组a,a[i] = i (因为最坏情况是a[i] = i个1*1),然后求他的递推公式。 首先我们找出每个问题中的子问题,拿a[12]举例,不难发现12 = 1 * 1 + 11 -> a[12] = a[11] + 1;12 = 2 * 2 + 9 -> a[12] = a[9] + 1;12 = 3 * 3 + 4 -> a[12] = a[4] + 1;...
0
点赞
评论
收藏
分享
2020-05-04 11:31
已编辑
第一拖拉机制造厂拖拉机学院 Java
【阿里数据Java实习二面面经】攒人品
电话面,全程一小时 1. 自我介绍 + 项目 + 怼项目 + 怼项目 + 怼项目 …… 2.建一个socket的开销有哪些?一个server最多支撑多少个socket连接? 3.长连接和短连接各自的优势和缺点是什么? 4.如果server用BIO实现,有一百个连接在server上会有多少个线程?NIO呢? 5.数组和链表最本质的区别是什么? 6.讲讲归并排序 7.你是怎么学习Java的?看了什么书? 8.JVM如何识别一个文件是不是.class文件 9.JVM如何查看一个对象在内存中占多少字节? 10.讲讲Java锁机制 11.讲讲CAS的实现原理 ...
投递阿里巴巴集团等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-06-08 17:42
已编辑
第一拖拉机制造厂拖拉机学院 Java
记录一下目前颗粒无收的21届春招实习
更新。拿到了shopee和华为的offer,决定去shopee了,大家如果被一两家公司的面试打击到了一定要坚持住呀,谁都不知道到最后会如何的。 ————————————————————————————————————————————————— 楼主坐标武汉,年初快准备回去上学的时候疫情突然来袭,到了三月份疫情越来越严重确定这学期没法去上学了,又不想纯上网课,干脆申请了休学半年,这时才恍然发觉要是什么都不干的话今年上半年就白白过去了,于是从三月底开始投简历,一边投一边复习。截止五一假期投了三四十家,差不多有一半做了笔试,做了笔试的又有一半左右进了面试,然而依旧0 offer,来记录一下我...
咔咔咔咔咔_咔:
加油,最后没找到我来捞你
投递烽火通信等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-07-18 16:17
已编辑
第一拖拉机制造厂拖拉机学院 Java
LC322 - 硬币兑换
这道题类似背包问题,取或不取,也可取多个,可以用自底向上的动态规划解决,首先可以将递归式列出。 F(0) = 0;F(n) = Min{F(n - a[0]), F(n - a[1]), F(n - a[2]), ... F(n - a[a.length - 1])} + 1;其中a为硬币数组。 代码如下: class Solution { public int coinChange(int[] coins, int amount) { if(coins.length == 0 || coins == null) return -1; int[] dp = new int[amount+1];...
0
点赞
评论
收藏
分享
2020-04-28 19:48
第一拖拉机制造厂拖拉机学院 Java
LC56 - 合并区间
两个区间合并一共有六种可能首先要把它们都转换成第一行的三种情况,那么就需要保证第一个区间的开始小于第二个区间的开始,于是我们需要把所有区间按开始的大小排序,之后再按这三种情况讨论。以下是代码 class Solution { public int[][] merge(int[][] intervals) { if(intervals.length == 0 || intervals == null) return intervals; //将所有区间按区间开始大小排序 Arrays.sort(intervals, (a,b) -> a[0] - b[0]); //用一个list来存放所有...
0
点赞
评论
收藏
分享
2020-04-28 11:49
已编辑
第一拖拉机制造厂拖拉机学院 Java
许愿斗鱼实习hr面!!
二面完三个工作日过了还没收到回复啊,有人接到hr面通知了吗?
投递斗鱼等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-04-23 11:42
已编辑
第一拖拉机制造厂拖拉机学院 Java
【斗鱼Java实习】一二面面经
一面30分钟,忘了录音了尽量回忆下 1.自我介绍+项目 2. Java的容器平常都用到哪些? 3. List和Set的使用场景是什么? 4. HashMap线程安全吗?不安全怎么办? 5. concurrentHashMap如何保证线程安全? 6. Java创建线程的方式都有哪些 7. 线程池的参数都有什么? 8. 线程池的运行原理是什么? 手撕代码: 1. 判断两个字符串用到的字符是否相同 2. 用栈实现队列 总的来说一面问的都挺基础,比阿里简单多了,也不会像阿里那样...
投递斗鱼等公司10个岗位 >
0
点赞
评论
收藏
分享
2020-04-21 10:35
已编辑
第一拖拉机制造厂拖拉机学院 Java
许愿OPPO实习offer!
好想要offer啊啊啊啊
0
点赞
评论
收藏
分享
2020-04-20 16:22
已编辑
第一拖拉机制造厂拖拉机学院 Java
面试官对我说containsKey的复杂度是O(n) ?
当时面试到手撕代码环节,写完了给面试官看,他问我这个算法的复杂度是多少,我说是O(n),他说你这用了containsKey,不是O(n^2)吗?我说不啊,containsKey的复杂度是O(1)并且解释了一下,结果面试官坚持说containsKey是要遍历的,复杂度就是O(n)blablabla……把我说的开始怀疑自己了,就没再坚持 ,于是面试到这儿就结束了。复盘面试的时候听录音听到这再次心生疑惑,于是查了下发现containsKey的时间复杂度确实就是O(1)呀……可惜我面试经验还是太少,当时怂了没敢怼他
我不叫A-aron:
我好像被问过同样的问题(但不是美团)。我那时候回答的是正常情况下是O(1),您说的O(n)应该存在于极端情况下例如collision发生后并且因为hashcode的问题所有node都生成同样的hashcode并且处理collision时用的是链表,JDK 1.8后由于采用了红黑树所以当n大于8之后就算出现此类极端情况也只会是O(logn)。
0
点赞
评论
收藏
分享
1
2
3
4
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务