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

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

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

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

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

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

但其他的理论性东西又答的还可以,估计是背的面试题。
11305 次点击
所在节点    程序员
99 条回复
redtea
2021-05-07 12:20:31 +08:00
第二题这个问题问的很好,就怕团队里出现写出==的人。我就见到过判断 String 用==的代码。
afewok
2021-05-07 13:02:43 +08:00
第二个都快 20 年的老知识了,127 的边界问题,类似坑爹的题还是 "aaa"==new String("aaa")
第四个我觉得有意思,我记忆中,java 的线程创建只有一种方式(创建个 Runnable 的实现类并实例化,当然也可以直接实例化现成的 Thread 类),其他的方案都是在此基础上的线程包装或管理
Amber2011
2021-05-07 13:18:40 +08:00
@xloger 这个我是做一个自增操作的时候用==,还是啥来着,理论上是 true 结果是 false 一直想不通,在评论区提问后有人解答了这个缓存。还有就是 java(阿里巴巴)开发手册里也提到过一手
yazinnnn
2021-05-07 13:20:03 +08:00
招个会 kotlin 的 java 开发可以避免一些低级&蛋疼的问题.
4kingRAS
2021-05-07 13:35:54 +08:00
@no1xsyzy java 对象比较推荐用 equals,直接在 equals 里实现, == 本来就是用于判断引用(指针)相不相同的。
Integer 缓存取决于 JVM 实现,openjdk 和 oracle 的是-128~128
dbpe
2021-05-07 13:43:56 +08:00
等 Primitive Objects 出来,我想就不用在问第二个问题了
dbpe
2021-05-07 13:44:57 +08:00
@Helsing 算偏,但也不偏..很基本的把...一些业务当中..很容易碰到的
lumnag
2021-05-07 13:59:59 +08:00
说实话没看面试题的我一个也答不上来
Michaelssss
2021-05-07 14:05:49 +08:00
我出了个机试题目,请使用任意自己熟悉的框架实现登陆鉴权功能,然后刷走了五六个人。。。。。。。。
lbp0200
2021-05-07 14:47:58 +08:00
工作十一年了,这四个问题,一个都不会
cloudzhou
2021-05-07 14:52:23 +08:00
问题 2 有些偏门,其他问题正常
WhoMercy
2021-05-07 14:55:27 +08:00
你可以把你的“参考答案”贴出来,让大家品评品评
YORYOR
2021-05-07 15:06:48 +08:00
考第二个的意义是什么 能指导你筛选候选人么
BoringTu
2021-05-07 15:15:25 +08:00
@hoyixi 为啥程序员面试还要有笔试。。?如果都是选择题就算了,用笔写代码??
hemingyang
2021-05-07 15:20:09 +08:00
@qwer666df int 基本类型 Integer 包装类型 int 比的是值 Integer 比较会指向内存对象 new Integer 是不同的两个对象
lachesis
2021-05-07 15:32:34 +08:00
每次看到这种面试题都觉得特别傻
vagranth
2021-05-07 15:34:26 +08:00
说实话,这些问题我都回答不上来。
通常来说,遇到这类问题的时候,我会 google 一下
dark3212
2021-05-07 15:57:23 +08:00
@xloger
其他问题不好说,Integer 缓存问题我实际场景踩过坑。
时间:大概是 15 年
背景:创业公司,巨小的公司,一个后端(我),一个 ios,一个安卓,一个测试
功能:实现一个讨论组,有一个主持人,主持人能全程讲话,其他人需要主持人点名才能讲话
主持人功能实现代码:

if(该用户的 ID==主持人的 ID){
//主持人逻辑
}

自测 ok,测试测了简单测了几十次 ok(测试库是新的,用户从 1 自增),上线后不 ok,主持人进来系统不认,无法主持。
从那以后我就深刻的记住了 IntegerCache 。
no1xsyzy
2021-05-07 16:00:16 +08:00
@4kingRAS 虽然不写,但其实我还是知道这些的。
考察一些底层实现层面的优化,实际上是没有必要的。如果想要考量如何解决底层优化所造成的问题,直接把有问题的代码带着环境丢过去,让对方解决不好吗?就算解决不了,只要能看到一些理解。
douyacai911
2021-05-07 16:06:34 +08:00
@vagranth 工作八年了我也答不上来,因为我在日本做外派。。

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

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

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

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

© 2021 V2EX