复杂的一天
上午看病,下午抽个时间去面个试,原来打算去公司玩玩的,因为小公司的面试流程相当于没有流程,当然五年经验以上的就另当别论了,正式知道这些,所以更加自信,想知道人家的产品经理是怎么对待一场面试的,在没有专业人力资源部门的情况下(果真是个HR一小朋友)
还听说是个产业园,老板很喜欢创业,看过无数创业书上的奇人当然要去会会这个BOSS,好吧,其实是长长见识,但最后,是真的长见识了
面试题:
先从面试题说起吧,两张面试题,写下来发现没什么东西,就从出卷人可以看出这人水平一般了,哦,不对,一般一下!
讲几个令我印象深刻的题
1,Switch中的细节用法
public class Test {
public static void main(String[] args) {
int i = 0;
while (i < 5) {
switch (i) {
case 0:
case 1: i = i + 1;
case 2: i = i + 2;
default: i = i + 5;
}
}
System.out.println(i);
}
}
这个运行会出现什么答案,大家想到的是:死循环?5?6?为什么没有break;?题目是不是有点问题?跟我们平常见的为什么不一样呢?
事实是我也是这么想的,当然我选择的是5,很遗憾错了,答案是8
原因是:
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
小结: 也就是说在没有break的情况下,默认会一直找break,也会经过下一个case,尽管里面的case可能不太相同,最后走到了default,也就是1+2+5 = 8,简单明了,可能是太细节了导致很多人不知道,而且真实情况下大家不可能这么写,这不等于找死吗,兄弟,如果没有break;代码还有什么意义,你直接不用Switch写到最后不就好了,让人疑惑,可能就是考研细节一方面吧
关于Switch详解
2,Linux指令
问了我熟不熟悉Linux,我说还可以,问我Linux查看内存的命令是什么?
我蒙了 不知道 当然也没用过
他最后也没告诉我,最好查了是:
top / htop
这辈子都不会忘记了
3,手写个二分查找
public static int recursionBinarySearch(int[] arr,int key,int low,int high){
if(key < arr[low] || key > arr[high] || low > high){
return -1;
}
int middle = (low + high) / 2; //初始中间位置
if(arr[middle] > key){
//比关键字大则关键字在左区域
return recursionBinarySearch(arr, key, low, middle - 1);
}else if(arr[middle] < key){
//比关键字小则关键字在右区域
return recursionBinarySearch(arr, key, middle + 1, high);
}else {
return middle;
}
}
简单递归 没什么难度
4,其他面试题就不说了,也不知道哪家的小孩子出的,例如:如何搭建一个项目……
最后通知面试失败了,说我项目经验太少,可能受不了高压
说话和放炮一样,就很丢人,这种创业园,这种公司的产品经理和员工,挂着高价,请不起高价
问了几个小朋友问题啥也没问出来跟我说不符合,连最基本上的如何考察一个技术人士最基本的都不会,这种含金量的公司去了也没啥用,简直看不起,门口摆挂着各种关于创业的书 我就呵呵 笑了 难怪中国百分之九十九的公司都会面临倒闭的风险……
5,小结:
不过话说这家产业园令我印象深刻的倒不是这个,刚进去的时候路上全是宝马奔驰奥迪,似乎连一辆大众都看不到
难道这就是有钱人的地方吗,刷新了我的世界观,果然是我没见过有钱人的生活
自以为开得起五十万以上车的人就比较有钱了
什么时候我也能够开着大奔上班 什么时候
变有钱吧 孩子!
其实真的有时候技术上来了,很多小公司就看不上了,格局太浅了



