我可能是个假程序员(面试经历)

2017-06-14 13:40:30 +08:00
 PEP4JASON

今天面试碰到个奇葩小组组长
XX:你平常除了 java 还有了解其他的什么吗
我:除了 java 还会看一些 nodejs golang 的书籍博客之类的 nodejs 比较熟悉
XX:能说一下有看的什么书吗
我:nodejs 实战 啊还有一些 git 上的代码之类的(他妈还能看什么??? 这本书老子看一半就理解完了)
XX:平常工作中有遇到什么难题吗

(我犹豫了一下 说实话在我的理解中 没解决的才叫难题 所以我一时间不知道说什么 最后说了一个最近的对接大硬件的项目 因为我觉得比较有趣 当然我知道这也是套路之一)

XX:数据库有了解吗
我:有啊 上家公司 做项目 一般用的 mysql 极少数会用 mssql oracle 的(我简历上面不是写的很清楚吗?)
XX:能说一下有哪些了解
我:。。。。。(我以为他问的是 原理之类的)
我:一般的 CRUD 函数 存储结构 事物 都 ok,之前有一个项目业务逻辑比较复杂但是不会改 那个项目的业务逻辑有 1/3 是用存储结构写的(我主要想表达 我数据库编程也蛮熟悉的)
XX:哦,那么有这么个场景 用户信息表 和课程表 如果要关联起来 要怎么做
我:建一张中间表啊。。。
XX:是什么关系呢
我:一对多(这里是思维有点定向 这个结构 ORM 对象中是一个用户对象 中有个 课程列表 所以说错了)
XX:??? 为什么会是一对多呢
我:一个用户关联多个课程 难道不是一对多吗(还没转过来 前几个面试 问的都是 一些架构 和 spring 原理 这里实在是没转过弯来)
XX:那是多对多的关系
我:哦 我之前一直把这种结构 理解成一对多了 不好意 我的问题(似乎想通了什么)
XX:说一下哈希表的结构
我:巴拉巴拉巴拉巴拉(省略描述)
XX:懂数据结构吗 说一下链表
我:巴拉巴拉巴拉(省略描述 大家都懂 就省略了)
XX:好的 那么能解释一下 session 吗(应该是 web 的 session )
我:我说了这里 最后说 的是 那我可能不是很了解 session (我他妈在这里卡住了 你敢信??? 做了两年的服务端 就基本很少用 session 基本上都是 用 token 做用户标志的 就算是做网站 也是用的前端框架,用户信息也是用的是 cookie 保存的 说实话 我这里就感觉 这个面试官很 low 了)
XX:恩 好吧 那么 你有什么要问我的?(这种是面试套路的最后一步)

我最后就问了一下工作制度 和公司技术栈之类的 就聊了了

然后 hr 过来跟我说你是那种懂得的技术比较广的那种 但是不精(??? 我他妈脑子抽了没想到 session 的机制 就不精了??? 那个人也没问其他的啊 ) ,因为我们公司是比较看重技术的 对技术的要求非常高 ,在我看来一般程序员 都应该是 埋头苦干 比较专一的 ,像你这样兴趣广泛的 我就不跟你套路了 咱也是老乡 ,像你这样的不太符合我们公司的要求

我的内心 OS:?????????????????你们是要把 session 玩出花? 一天到晚就 研究 session???? 我就说了我了解一些 其他技术 就叫 博而不精??? 你们倒是问一下 分布式框架啊 问一下 并发编程啊 问一下 百万级并发解决方案啊 问一下 分布式数据库如何同步啊

最后我只是 回了一句 “哦”

我可能是个假 java 吧 .
我可能是个假程序员吧 .

22934 次点击
所在节点    程序员
113 条回复
PEP4JASON
2017-06-14 13:50:38 +08:00
说实话 我简历上写的 都是 java 相关的框架 和一些中间件 和数据库
xss
2017-06-14 14:17:51 +08:00
作为一个'做了两年服务端'的人, 你跟我说你不太明白 session. 我也会开喷.
不然你怎么解决'百万级并发解决方案'的身份验证方案, 对吧...?
zzn
2017-06-14 14:22:09 +08:00
面试就像相亲,要互相看对眼才行,别想太多
doublleft
2017-06-14 14:34:42 +08:00
XX 问的没毛病,你答的也没问题。
只是 XX 没有(能力)问更深,你也没延伸了说。
气场不和吧,遇到这样的面试官很吃亏
nfroot
2017-06-14 14:39:35 +08:00
别纠结,一般面试用的,都不会是工作里用的,面试考题是用来碾压考试者的。(压你工资)

面试官也有不同的水平和信仰,有基督教也有伊斯兰教,也有无神论者。

你只要知道,就算你是全世界最完美的人,也不是最适合每个人的。
LancerXin
2017-06-14 14:55:45 +08:00
你可能不是很擅长引导面试官的思路啊.
面试一定不能按照面试官的步调走,他问什么你答什么,因为面试官肯定是问他自己比较擅长的,他擅长不一定是你擅长.

你能说一些链表,数据结构之类的东西证明你平时还是比较在意编程基础的,应该是针对这些做过专门的学习.当然面试官没有更加深入问,可能是面试官自己也就这水平.

然后既然你是 web 程序员,最基本的 http 协议应该吃透的,搞 web 的不应该之局限与什么框架怎么用之类的,或者数据库的简单 crud,问这些我也感觉太娄,回答千篇一律,没有任何新意.

关于 session 这个问题,应该是问原理,我的回答:
session 以 sessionid 为客户端唯一标识,如果客户端开启了 cookie 那么会保存在 cookie 里如果没有开启 cookie 那么会在 url 里以参数的形式存在,不同的 web 容器命名不同.服务器端通过 sessionid 关键字维护一个 session 的 map,一般是存储在内存里的,不同 web 容器或者框架有 session 信息持久化的实现方案...

如果我是 web 程序员的面试官,我会比较喜欢问这样的问题:
1.如果让你设计一个 web 容器,你会如何设计?
2.如果让你设计一个浏览器,你会如何设计?

PS:本人并不是 web 程序员,只是提一点自己的看法.
dcsite
2017-06-14 16:28:56 +08:00
@LancerXin
问一个 web 程序员 ”如何设计一个浏览器“?

假如不小心碰到你这个面试官,怕怕。。
yidinghe
2017-06-14 16:43:21 +08:00
这面试官自以为对程序员要求高,但自己并不清楚什么才叫要求高。
torbrowserbridge
2017-06-14 16:49:04 +08:00
token 不就是类 session 的一种实现吗。没感觉哪里 low
bravecarrot
2017-06-14 17:05:56 +08:00
hr 的话没什么毛病:技术评价是面试官给的;结果不合适直接告诉你,很真诚。
skylancer
2017-06-14 17:09:34 +08:00
hr 没看出什么问题,遇到一个水平一般的面试官只能说你不好运
gemini767
2017-06-14 17:11:21 +08:00
不觉的 session low 到哪里,token 只能解决无状态请求,涉及有状态请求,还是要实现一套类 session
zjlin1984
2017-06-14 17:12:11 +08:00
我是进来看热闹的
RubyJack
2017-06-14 17:12:30 +08:00
session 都不能解释的后端还有什么好说的?

至于什么百万级并发的问题,你要是真能解决,不至于去这么 low 的公司面试的。

这面试题我大三的时候就可以答的很好了
j4fun
2017-06-14 17:17:23 +08:00
session 和 token 不都是一个妈生的吗,你直接说 token 不就好了。。衍生一下可以说说现在 session 不安全了,应该搞搞 JWT,http 的也应该弄 https,还应该做做服务端验证
dingz
2017-06-14 17:17:25 +08:00
面试官问对数据库有什么了解的时候,如果楼主回答提到一下分布式,查询优化,并发同步啥的,对方也许就继续问了。当然也许也是没回答好多对多的问题,所以对方没继续问了。

面试时太被动是不行的。个人经验回答时语气要肯定用词要正式,答案要有理由,引导对方继续问细节。
hellowwo
2017-06-14 17:19:48 +08:00
应该上来问下技术栈,叫做合不合拍,另外 session 感觉已经越来越少用了。用 token,可以很方便的做 restful 接口,维护很方便,lz 应该庆幸没进去,找个更合适的下家吧。
jason2017
2017-06-14 17:21:50 +08:00
问 session 就是 low 了?
问百万级高并发就 high 了?
这就好比去面试大学数学老师,问问微积分很正常,突然再问一下二元一次方程,你说我忘了,而且这问题太 low 了。
scriptB0y
2017-06-14 17:32:17 +08:00
楼主你是不是在 pycon 群里?
mozartgho
2017-06-14 17:39:46 +08:00
面试要看运气和缘分,也别灰心!相信自己

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

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

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

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

© 2021 V2EX