搜狐畅游面试经历 作者:马育民 • 2019-04-04 22:08 • 阅读:10288 感谢我的学生喻某提供的面试经历,希望对求职学生有帮助 ### java基础 1.你知道ArrayList和LinkedList的区别是什么吗?请举一个例子来说明他们的使用场景,并说明为什么。 2.关于java8的一些新特性,你知道哪些? 3.请基于java底层来说说你对java的认识。(我说的例子是hashmap和currentHashMap,说currentHashMap就是基于hashMap的一个优化,并详细的说了一下里面代码的实现过程,并对比了两个代码的区别)。 4.请说一下hashmap和hashtable的区别。 5.请说一下hashmap的负载因子的大小,并说说这个负载因子有什么作用。 6.关于命名规范,你是怎么看的?你开发中,数据库的命名规则是什么?你java代码中的命名规范是什么?还有其他规范嘛?(我说我是基于阿里巴巴的开发手册看的规则)。如果一个函数的名字太长,比如说它的名字已经占了屏幕的一半多,你是否还要坚持不使用缩写?(我回答的必须写全,然后对面点了点头。) ### 数据库 1.请说一下左,右,内,外链接的区别。 2.你说你了解redis,请说一下Redis和mysql有哪些不同之处。 3.请说一下redis的运行原理,并说说它为什么这么高效。 4.请问你了解mysql的数据引擎吗?简单介绍几个你熟悉的。 ### 框架 1.请说一下mybatis和hibernate的区别。 2.你之前提到过命名规范的问题,数据库里的命名是小写下划线,而java代码中是驼峰标识,那么当数据库里的字段名和java代码中的字段名不匹配时,mybatis是通过什么方法进行关联映射?(resultMap) 3.请说一下springMVC的整个工作流程。如果我们想将前台的表单数据传回后台然后再传回前台,你觉得用什么数据结构接收和发送比较好? 4.请说一下@RestController和@Controller的区别。 5.你说你用过springboot,那么请说一下springboot的启动类上面都可以写哪些注解?这些注解的用处是什么? 6.你之前说过关于静态资源访问的问题,请说一下为什么要配置静态资源访问路径?用java代码修改配置和用配置文件修改配置有什么区别?如果你是用java代码来添加配置,那么这个配置类你应该写在哪里?有什么注释?类里面具体有哪些代码? 7.关于Jquery,请问你知道JQuery的选择器吗?请说出使用选择器时候的具体代码($(“.className”),$(“#idName”),$(“name=[input]”))之类的。请问选择器返回的是一个什么数据类型?(这里需要注意一点,用id选择器返回的是一个个体,而其他两个返回的都是数组) 8.关于ajax,你都传过那些数据类型? ### 其他 1.你简历里面说的这两个项目中,你主要负责了什么部分?请简单说一下你用你写的这些技术做了什么东西。 2.我看你这个项目里有写文档,能说一下你的文档里大致写了什么东西?你又和你的组员们做了什么样的“约定”? 3.你说过你使用的Intellij IDEA,请问它和eclipse有什么区别? 4.刚才你说Intellij IDEA需要做一些优化才能比eclipse好用,请你具体说说你做了哪些优化? 5.你刚才说关于快捷键的设置,当快捷键出现了冲突(比如说和输入法切换之间起了冲突),你准备怎么干?(我一开始说的是把IDEA的快捷键给修改了,但后来他纠正道宁愿去改输入法的快捷键也要保证IDEA快捷键的统一性,这样别人来你电脑上修改代码的时候,大家都是统一的IDEA默认的快捷键,就不会出现使用不便的情况)。 6.请简单说一下FreeMarker是拿来干什么的。 7.分析一下FreeMarker和JS代码哪个效率更高?(这里必须要从FreeMarker的原理来进行分析。FreeMarker的原理在java中和JSP几乎是一样的,都是需要在后端服务器进行编译再返回前台进行渲染,如果有大量的FreeMarker,势必会对服务器造成不小的压力,这对于高访问量是完全不能接受的,而js代码是直接在客户端进行,因此其对服务器的压力能大大减小,所以总体来说,js代码效率更高。) 8.Git和SVN的区别在哪里?各有什么优缺点? 9.你刚才说了Git是开源的代码,现在我们不想让公司的代码开源,但又想进行代码管理,请问有什么办法?(我一开始说用Git的private属性,但是要付费,然后对面说我们也不想付费,我说我不清楚了,对面说自己在公司搭一个服务器就行了)。 10.你一般玩什么游戏?对于这些游戏,除了正常游戏,你是否通过什么方式参加了游戏的各种线上线下活动? 11.有考研的打算吗?当初为什么不考研?你觉得考不考研有什么区别? 12.这段时间你有没有什么打算?不管是未来的还是现在的都可以。 13.如果让你学习一个新知识,你准备怎么学习?(看书,看视频,看源码,看国外的资料,看大佬的博客。)注意!当你说过你看过这些的时候,请准备几个例子,比如说看过谁的博客,看过关于什么的视频,里面总共有几章。我说我看过外籍资料,面试官问我叫什么名字,是谁写的,封面有没有小动物,总共有几章,你看到第几章了,前面几章都讲的是什么内容之类的问题,因此一定要注意准备一些例子能证明你确实看过。 ### 总结 1.搜狐面了我两个半小时,从一开始的大组长到技术总监,最后HR只和我聊了几分钟,因为我说了我要回去考虑一下,他们也就不再多说什么。两个半小时里,有将近一个多小时是我在问他们问题。 2.总体来说,搜狐不愧是大型互联网公司,一个分部门的总部大楼环境非常舒适,我都能感觉到如果我在这里面工作生活一定是挺滋润的。他们问的问题非常有针对性,将你的简历上的东西从头到尾问了个遍,面试官一边面你的技术,一面面你的人品,如果你的简历稍微有点作假,通过这么问下去我觉得一定能问出来。 3.面试官人非常的好,当我问了他们什么问题的时候,他们会非常耐心细心的给我解答,我感觉与其说面试,到后来就好像在和长辈们聊天,非常惬意,你能和他们讨论你的见解,他们也会告诉你的他们的想法,就拿“考研”这个事来说,我和技术总监聊了不少,从中也学会了不少东西。 4.只能说互联网公司是真的有钱,给我开的工资和待遇是我遇到的最好的,不仅有各种补贴,还有食堂和24小时免费健身房。但我为什么没去搜狐,因为在微服务这块,我所在的部门刚刚起步,而中科院这边已经有了一个较为完整的框架,如果我是奔着学习的目的,自然是中科院更加合适,所以虽然搜狐给的待遇相当诱人,我还是决定再深造一下自己。 ### 最后的感想 1.紧张是必然的,尤其是自己还没有一份offer保底的时候,那个时候面试前是最心慌的,因为就怕自己看漏了什么内容。但后来发现,只要你简历能过他们的审核,后面基本就是基于你的简历来进行提问题。所以,一定要对自己写的东西了如指掌。可能他会问一些你不会的问题,但反过来,你也可以扩充一些他们没有提的问题,从另一个角度证明你确实有真才实学,只不过刚好他们问的是你不会的罢了。 2.面试官们很喜欢对你说的每一句话咬文嚼字。有可能你的下一个问题就是来源于你当前说的话里面。比如我之前说我优化过Intellij IDEA,他就问有哪些优化,我说了哪些优化,他就问针对这些优化的具体操作是什么,说了这些操作后,他们又会问你还有没有更好的方法,总之就是问到底,要么你不会,要么他们满意。当然你也可以通过这个特点,给自己创造机会,比如你可以故意把在话里面提几句你非常擅长但是在简历里面没有写的东西,然后当面试官提到这个点的时候,你就可以开始你的表演了。 3.对于每一场面试,都会问你还有没有想问的,这里其实和我个人有关,因为我的目的很明确,就是想要学习新东西,所以每一场面试我都会详细的问他们用的技术线,包括用了哪些框架,有没有用到多线程,是不是分布式系统,用的什么IDEA,有没有用到中间件,大概做的是哪方面的业务等等等等。当然薪资待遇你必须得问,这个没有什么不好意思,我们不仅是要在北京学习,也要在北京生存,找准自己的位置,别让自己太廉价的就出去了。搜狐的技术总监给我说了,喜欢那种知道自己现在在干什么,以后想要干什么,准备怎么干的那种人,只有目的明确,他们才好具体的对你进行培养,同时也表明了你是有足够的动力的,而不是随大流的那种不稳定的实习生。 4.面试是个好东西,对方通过面试了解了你的程度的同时,你也可以通过面试去了解他们公司的具体情况,这是一个相当好的机会。也因为有了面试,我才能筛选出一些只打算把你拉去干活而不打算培养你的公司。通过询问,有些公司甚至还在用Struts2,和CVS,这些是我不能接受的。所以,面试,不仅是他们面试你,同时也是你在面试他们,你可以通过面试期间他们问你的问题,以及对你的态度,和面试地点的环境,大致就了解自己未来几个月的生活环境,所以在挑公司的时候,一定要想好。 5.一定要把话说清楚,一定要把话说清楚,一定要把话说清楚。你可以不善于和别人交流,不善于聊天,不善于制造话题,但你一定要善于把自己的东西给表达清楚。自己会什么?自己做过什么?自己怎么做的?自己想干什么?这些是你属于自己的东西,能把这些表达清楚,面试成功率就能大幅度提升。 6.务必做到谦虚。面试官问到的任何问题,不管是大的还是小的,都不要掺杂一点轻蔑或者是不屑的词类似于“不就是那个嘛”这种话,我们学的和做的大部分东西,在别人眼里不值一提。 7.在写简历的时候有一个技巧。有些人不知道自我介绍说些什么,因为自己感觉在简历上已经写的够多了,不知道说啥了,而面试官往往想听一些你在简历上没有写的东西,因此你可以把“自我评价”从简历里删除,放进自我介绍里去,同时你也可以直接说“我感觉我的优势在于XXXX”,这样也省去面试官来问你,也增加了自我介绍的内容和时间。 8.暂时就想到这么多了。 原文出处:https://malaoshi.top/show_1EF35h6oLyrR.html