约好的时间面试,放了鸽子,连个招呼都不打……这叫活明白了?这叫反对强权、拒绝洗脑?跟加班啥关系?
你这个脑回路,我也就不强求你能理解啥叫礼貌、礼仪和互惠共赢、合作了……
不作评价,有点矛和盾的意味,一如薛定谔的猫。面试开始之前,双方都不知对方深浅,浅问题、深作答,深问题、巧作答。不喜勿喷,我就是过路而已。(因为大会的事情,社区最近感觉没啥干货 )
只能说,现在的 90 后活明白了,不加班就是不加班,反对强权,拒绝洗脑,爱咋咋地。除非提高工作效率,招够合适的人
我是来答 1 楼的。
int_list = [1,123,12345,789,1235]
str_list = str(int_list)
s = '*'.join(str_list)
li = s.split('*')
for i in set(li):
if i.isdigit():
print('%s 出现了%d 次!'%(i, li.count(i)))
有的 hr 还放面试者鸽子呢,先摆正自己
空间换时间啊,遍历一遍 O(n)
面试者和被面试者原来是博弈的过程,受教了。传统面试官都是高高在上的感觉,有时候随便忽悠面试者不懂装懂,面试者就得乖乖的老实交代自己情况,看来我们有时候也得试探下面试官。哈哈
666666666666666666
多好啊,再出去至少可以有吹的了
拿个剑指 offer 的题目就出来装,我实习的时候就是这题目,全打上来了
面试官一般不会纠正错误
所以你在面试的时候测试下百度的搜索推荐功能?
这匿名区越来越有意思了
好像在哪里见过,像复制粘贴的
今天有个逼来我公司面试,
第一个问题我问的他线程的基本概念(看他履历还是挺厉害的,本来我还想问问 countdownLatch 和 notify wait 的实现差别, volatile 关键字和原子类的使用区别),但不知道是不是故意的,这个 B 答得乱七八糟的,都没有回答到点上,我佯装回答很对的样子点点头,尴尬而又不是礼貌的朝他呵呵微笑着,也懒得纠正他错误答案了。
知道了他的水平之后,我只能问的浅一些了,反正深得他也答不上来。
然后又问了线程池、锁、jvm 相关概念,结果回答的和他的履历完全成反比,全是错误答案,我也没有纠正。
看了他的简历,本来有所期待,但心一沉,感觉没前途。
回来想发一篇《最近的应聘者的答题质量越来越差了。。。》,发现有个 B 发的比我还快,哎。
所以你的目的是为了吐槽这家公司还是为了装逼?
嗯,测试以后都面试这样的题目,最好一上来就是手写红黑树这样的面试题,才能提现测试的技术水平
private static void countSameNumber1(int[] number){
HashMap<Integer,Integer> hm = new HashMap<Integer,Integer>();
for(int i =0;i < number.length;i++){
if(!hm.containsKey(number[i])){
hm.put(number[i],1);
}
else{
hm.put(number[i],(hm.get(number[i]))+1);
}
}
for(Map.Entry<Integer,Integer> entry:hm.entrySet()){
System.out.println(entry.getKey() + "出现了" + entry.getValue() + "次");
}
}
一楼的问题是剑指 offer 的题目:
public class Solution {
public static int GetNumberOfK(int[] array, int k) {
int count = 0;
if (null != array && array.length > 0) {
int first = GetFirstK(array, k, 0, array.length - 1);
int last = GetLastK(array, k, 0, array.length - 1);
if ((first > -1) && (last > -1)) {
count = last - first + 1;
}
}
return count;
}
/**
* 递归求解第一个k出现的位置
*
* @param array
* @param k
* @param start
* @param end
* @return
*/
public static int GetFirstK(int[] array, int k, int start, int end) {
if (start > end) {
return -1;
}
int mid = (start + end) / 2;
int midData = array[mid];
if (midData == k) {
if ((mid >= 1 && array[mid - 1] != k) || mid == 0) {
return mid;
} else {
end = mid - 1;
}
} else if (midData > k) {
end = mid - 1;
} else {
start = mid + 1;
}
return GetFirstK(array, k, start, end);
}
/**
* 递归求解最后一个k出现的位置
*
* @param array
* @param k
* @param start
* @param end
* @return
*/
public static int GetLastK(int[] array, int k, int start, int end) {
if (start > end) {
return -1;
}
int mid = (start + end) / 2;
int midData = array[mid];
if (midData == k) {
if ((mid + 1 < array.length && array[mid + 1] != k) || mid == array.length - 1) {
return mid;
} else {
start = mid + 1;
}
} else if (midData > k) {
end = mid - 1;
} else {
start = mid + 1;
}
return GetLastK(array, k, start, end);
}
}
1.countdownLatch 是实时通知,notify 不会释放监控权,所以写 wait 方法的线程需要先 start
2.ArrayBlockingQueue 是自定义线程中有序队列
ThreadPoolExecutor pool = new ThreadPoolExecutor(
1, //coreSize 首先会加载的线程
2, //MaxSize 最大装载的线程
60, //60
TimeUnit.SECONDS,
new ArrayBlockingQueue<Runnable>(3) //指定一种队列 (有界队列)容量 除了coreSize运行的任务,其他任务会分配到队列中
, new Rejected()
);
3.类锁和对象锁区别就是 synchronized 有没有加 static 关键字。
我觉得除了 jvm 那道,其他 lz 所涉及的问题都是 java 基础,所以并没必要喷 lz。面试官可能主要是做功能测试和管理,技术涉及较少,客观意见,少喷为妙!
进来社区半天发现,现在的社区和一年前的画风天差地别
社区的脉脉既视感……运营小姐姐卖萌瞎扯,一大拨当真的,然后活跃就上去了,是这样吗?
我不是楼主。一楼的问题,上网一查随便就出来了。。。。。请问面试可以上网查吗
python 的话可以直接用 Counter 吧,java 不是太清楚
我是一楼,当时我的思路是来个循环嵌套,里面循环去拿外层循环的数和数组中所有数组对比一样就 +1,然后放在 map 集合里面.最后面试官问题有没有考虑过 时间复杂度?大佬你这么厉害,这个题回答下.