TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
最近在找工作,刷新了自己在智联招聘和前程无忧上的简历。这两天电话不断,各路外包公司都来了,简直应接不暇!今天下午又来一个电话,一看是杭州的,本来以为还是外包,一接,人家说了:“你好,我这边是阿里巴巴,你感不感兴趣?”
8 e9 V" v; A: [+ v
6 U1 Q! s. e% s- B, N0 H: s6 J- F" C e; B6 t* w+ |6 k
这还用说?作为屌丝程序员,有几个不对阿里巴巴感兴趣的,当时就有点小激动,说当然当然。对方就说,稍后跟HR说一下,找时间做个电话面试。我一听,还真体贴,知道我在南京,先电话面试。
1 T% A0 H' g' o M2 P5 j9 c3 T
) S! f- s( ^4 j9 ? M1 L
% n3 z C/ o4 T+ D6 [' x. |2 i( \接完电话回去继续看代码。但是再一仔细琢磨,尼玛,不会是外包到阿里吧!心里想着,电话面试的时候一定要问清楚。5 u/ ~: B" j( R3 T+ G
' \1 W2 W$ @" E7 y5 [- a. X
5 @' ?5 C r( {6 K
下班到家,准备把昨天买的水饺给煮了,偏巧不巧,水饺熟了的时候,电话来了。我拿起来一听,说是阿里海外事业部的。我心想,我读书少,你别骗我!“这职位是阿里的还是外包到阿里啊?”对面一个哥们就笑了,说“我们是阿里,不是外包!”这还差不多!
6 m: b! l. Z& F& `
* l. }- g: v% G1 C
0 _9 i1 Z0 N6 j# z- `) B- p2 o好吧,电面开始!
* w, b c* r. Z: D! F& j6 K( ]' y" S6 S
5 R$ |/ i6 B$ i& z5 b1 t- C, R
一上来就让我介绍一下最近做的项目。有点蒙,我以为他这次只是跟我确认下电面时间,没想到直接就开战了!好吧,我组织下语言,如实介绍了下项目。
* {) E1 s8 s6 z+ P* a4 j4 J0 f- C3 p, T+ `# J* w
9 L9 A' l% [) k: B" n
我最近在做一个智能客户分析系统,当然,这系统名称是够霸气,实际也就是传统的CRUD。在这个项目里,我负责了一块功能,另外还得帮其他成员搞定页面上遇到的所有js、css问题。因为我简历上说自己还能搞前端,对面就问了几个前端问题,怎么定位比较耗时的代码,如何优化前端,有什么办法能异步加载js文件。说实话,我的前端全用来看语法了,对这些专业的前端问题,也只是粗浅的有那么点意识,具体真说不上来。完败!
! \3 C' U% J) g$ a; n0 Y
( H7 S/ C* d9 Q3 T3 n& B
, s) M: Z! H' U* {: v) o2 e马马虎虎前端就这么结束了,又说起SQL语句,问怎么在SQL层面做一些优化。我就说,SQL优化基本就是一些常识性的东西,比如不能用SELELCT *,少用DISTINCT、GROUP BY之类的命令。对面说,这些都是背一下就知道的,我希望你说一些你自己的理解。我一下子就急了!因为前面回答的并不好,现在的回答又没在他的思路上,这是要悲剧的节奏啊!慌乱之际,我想起了写代码的时候,应该用PreparedStatement而不是Statement,因为PreparedStatement是可以缓存SQL语句的,下一次在执行相同的语句,不需要再次解析。但对面又说了,你那是程序层面,我想知道一些SQL上的,其实你可以说索引啊!我当时好尴尬!对啊,索引啊!主键啊!你上个月不是刚做过索引吗!脑子里就跟浆糊一样,越来越悲催!
5 l6 m; Q _2 |% y) L: B1 a# r" T6 B% ~4 t# l7 i
5 S8 Y9 P X4 x6 C, Q. w
SQL也不行了,就来框架吧。对面问,SSH在程序中扮演什么角色。在他的引导下,终于知道是要说MVC的事,是要将分层了。简单说下了,对面又问,如果要去掉一个,你会去掉哪个?我最近这个项目,只用了springMVC就搞定了所有的事,同时我也觉得Strust2要定位一个Action请求需要到类,而SpringMVC可以精确到方法,所以果断把struts2给去了。对面也不好说什么,又问JVM一些问题,怎么确定服务器端一个死循环,JVM什么时候会触发Full GC。这个时候考研我的时候到了!心想该勇敢一回了,就照直说了:“我不太了解!”真不了解,这两年一直做传统项目,一边赶进度,一边学习前端、SQL、正则这样的工具类的东西,java一直都是一瓶水不满,半瓶水晃荡的状态,真心没有深入到JVM过。本来还有一本深入Java虚拟机,可惜好久没翻,已经在老大那放着了。
! o$ l% y5 r1 A1 I% _5 |3 I" d( l( d1 J5 t+ j8 U
( U; I$ H) R1 e% x0 z' A
中间又问了HashMap跟Hashtable的实现原理,不知道我敢乱说?我除了知道它们都用到了hash表,HashMap允许key为null而Hashtable不行,别的也不了解太多了!但是我会告诉你我刚刚看过LinkedList的源代码吗?我会告诉你我还看了String的源代码吗,我会告诉你我断断续续的看了很多源代码,但都是在想起的时候才去看吗?所以我根本就没想起过去看HashMap或者Hashtable,你叫我如果回答?
# m5 x: \) {8 r: k: @5 q
) W* l) c9 r- V1 T/ u" _9 J- }- u9 I
" G; M J8 t3 A8 i- Z罢了罢了,此时我已经都不好意思跟他对话了!对面问我,最近在看什么书?我心里想,我还是别乱说,我说我在看算法导论,人家一问我三不知怎么办?去年年底买的编程珠玑、重构,还有本来可以套近乎的淘宝翻译的编写可维护的javascript,一概没敢说,就说了一本我快看烂了的javascript高级程序设计,结果人家说:“这本我都没看过!”3 p% t! s2 H8 F1 n2 o4 B: h" ?
/ X+ b; T" b1 }( C( b/ C0 N
- Y7 i3 h% @$ Q9 s' O) F
最后总结,对面很真诚的指出,作为出道一两年的IT民工,基础还是有点薄弱。然后问我,有没有什么要问他的。% i8 A' Y$ e1 H; \, C
7 j3 v# @0 d9 y! m# W' y* {5 f+ [+ S
得了吧,就现在这种感觉,我还有什么好问你的,我只想快点挂吧,回去再学习一下!就说没啥问的。现在想想,怎么没啥问的,可以问问,你们那团队如何共同进步啊,用的什么技术啊,下回面试在什么时候啊!* G: a& k+ z) p1 S5 N
0 t" J. N7 m2 u" D" i$ w" h0 o- W! P% c
总体来说,对面那位大哥还是很客气,很耐心的在了解我的技能。他问我,servlet是否是线程安全的,我也记不大请了,大概是安全的。他说:“本来我还想问为什么不安全......”对不起啊,没给你开口的机会。2 m9 m$ X! j$ k9 {" E3 L
+ p8 ]; |- v/ G: G) g g( ^
) c+ w( ?; d6 K7 m这次持续四十分钟的面试,感觉对我来说就像是刚弯腰捡了十块钱,还没站起来,失主来了。哎,书到用时方很少!想想要是自己平时多深入学习点Java、JVM甚至多了解下Servlet或者各个框架的原理,今天都一定能交一份令对方满意,也能让自己转折的答卷。确实,有些基础性的东西,原理、理论的东西,我还是没有去学习、去理解、去掌握。电面结束,我就想起那句话:“机会,是留给又准备的人的!”没有准备的人,馅饼掉到你面前,恐怕你都接不住!谢谢面试我的这个大哥,让我能这么清晰的认清自己的不足之处。各位轻喷,我去做下准备。
# q5 {2 I9 k: q8 A8 X
/ p, x2 ^0 Y/ P \3 b |
|