现在的程序员,这么简单的问题都能答错吗?

2021-05-06 19:39:26 +08:00
 polyang
今天作为面试官面了个应聘初级 Java 的程序员,该程序员工作 3 年,因为是初级,先问了几个简单的问题:

1 、final 修饰的变量到底是指引用不能变还是引用的对象内容不能变?
答曰:引用的对象内容不能变

2 、有两个 Integer 类型的变量,他们的值都是 100,如果用==比较,结果是什么?
答曰:false,他说==比较的是内存地址

3 、关于 MySQL 的索引问题,like 会不会走索引?
答曰:不会,而且还特别补充了一句,只要用到了 like 都不会走索引。

4 、创建线程有哪几种方式?
答曰:只知道线程池的方式,其他方式不清楚(然后我顺着这个问了他线程池,结果他说工作中没有用到过线程池,对线程池不是特别了解)。

但其他的理论性东西又答的还可以,估计是背的面试题。
11288 次点击
所在节点    程序员
99 条回复
wssy921
2021-05-07 11:22:31 +08:00
我 6 年经验,感觉也不太会面试了。 奇奇怪怪的知识点太多了,很多东西,真的用过了, 面试的时候突然提起也忘记了
fffang
2021-05-07 11:23:07 +08:00
关于第二个问题,他有可能之前写过 JavaScript 。doge
Mirage09
2021-05-07 11:27:53 +08:00
问这些无聊的问题还不如弄个 LeetCode medium 讨论讨论...
lauix
2021-05-07 11:28:42 +08:00
只会第三个,like 要看 % 在哪里,才会走索引。
no1xsyzy
2021-05-07 11:30:56 +08:00
不写 Java 的问一下,这个 Integer 缓存池,是列入标准了吗?
还是说是 de facto 标准?那么存在多少依赖此行为的代码?

讽刺的是,大多数 Lisp 实现中 eq? 这一定义上就是严格同一性比较,反而能对同类型的数进行数学相等的比较
因为函数式不需要有『方法』,所以基本类型不构成对象

而 CPython 下,则是基于一个更诡异的编译器优化:一方面有一个有限的常量池([-5...256]),另一方面,如果在同一次编译中编译期求值后存在同一个值,则优化成同一个对象。
所以,在 REPL 中可以发现如下现象(注意一个 >>> 发生一次编译):
>>> a=12345; b=10**4+2344+1; a is b
True
>>> a=12345
>>> b=12345
>>> a is b
False
simonlu9
2021-05-07 11:45:03 +08:00
@xloger 因为常用的业务逻辑都会用到 for 循环大量用到都是不超 100 的数字,经常使用,没必要每次都初始化,跟字符串一样
zihuyishi
2021-05-07 11:45:48 +08:00
有句说句,为啥我觉得做 java 的要面试这种问题很蠢,有点茴香豆有几种写法的感觉
simonlu9
2021-05-07 11:47:38 +08:00
同样感觉,之前面试的 java 实在太水了,基本我都是用一些实战经验来过滤,最简单的一个,http 和 tcp 有什么区别,很多都会答 http 不需要三次握手,tcp 需要三次握手,直接 pass
unco020511
2021-05-07 11:51:16 +08:00
说真的,java 这种上古语言,真是食之无味弃之可惜(对于我来说)
unco020511
2021-05-07 11:52:17 +08:00
@simonlu9 这个问题就比什么 integer 好很多,http 是很重要的知识
lakehylia
2021-05-07 12:00:55 +08:00
@simonlu9 http 是 tcp 的再上一层协议吧,tcp 底下有 ip 协议。大学里涉计算机专业的基本课程,要考的。。。
dany813
2021-05-07 12:02:45 +08:00
3 年 培训的吧
lakehylia
2021-05-07 12:03:08 +08:00
第二个问题,其实是未定义的,不要问这种问题。未定义的行为,鬼知道会有什么结果,java 文档里面没有定义。
polyang
2021-05-07 12:04:47 +08:00
@simonlu9 哇,这个问题好,我记下了,下次面的时候问问。感谢
kidlj
2021-05-07 12:05:02 +08:00
现在的 HR,连这样的面试者都筛选不出来吗?
bluekz
2021-05-07 12:05:05 +08:00
我也分享几个我面的:
1.字符串倒转的方法写不出来,部分百度抄了之后自己无法清楚描述每一句逻辑。for 循环说都不会的也有。
2.string a = "123"; a=a+"45";输出什么?有 123 的,有 45 的,知道 12345 的问一下“那为什么说 string 不可变” 就蒙了。
3.说两个或以上字段不能共同作为一个联合索引,我都没办法往下问最左原则的问题。即使能问,也没有能答对的。
我们的要求是 2 年左右经验。
即使我知道有些是毕业了培训班走一遭出来的,问题这大学+培训也没听过讲啊
hoyixi
2021-05-07 12:05:31 +08:00
以前都是有笔试环节的,你问的这些基础题,就是放在笔试用来初筛的。
当然,我说的笔试,是不能手机上网查答案的那种,不然也没意义。
polyang
2021-05-07 12:08:52 +08:00
@kidlj 不知道啊,反正是领导让我面的,按道理 hr 应该先进行面试的。
polyang
2021-05-07 12:10:46 +08:00
@bluekz 第 3 个我也会问,但一般会先问索引有哪几种类型,如果连索引有哪几种都不知道,就用不着问这个了。
Helsing
2021-05-07 12:12:16 +08:00
第二个问题其实真的很偏,基本都是背面经才会知道

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775262

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX