面经详情

这是很久之前参加过面试
一轮店面HR,二轮是写一个作业,三轮一个简单的笔试,接下来就是pair programming和面试,几天之后收到offer。

相关推荐

匿名用户
Java
确定通过确定通过
1. hr电话面谈,问题都是些常规项,正常回答即可。 2. hr会发送一份算法作业,要求1周内完成。这份作业考察候选人写程序的基本功,包括代码的可维护性、可扩展性等等,不仅仅是看你的算法。由于入职后当过面试官,看过作业,这里多说一句,很多人回答作业太不细心,题目要求都没看完整就把代码发送回来:题目要求提供一份README,描述代码的运行方式,step by step,结果好多人根本不写。遇到有耐心且有空的面试官还好,碰到哪个考官当天比较忙的话,你的作业就直接挂了。 3. 作业通过会被叫去现场面试,2个面试官 VS 1候选人,包括两个环节:     1) 给面试官讲解你的作业。对于那些找***手写作业的同学,这关一般就原形毕露了。讲解完以后,面试官会挑一些代码中的问题跟你一起讨论,一来考察你对别人意见的接受度,二来也考察你对算法的理解     2)基于之前的代码扩展新功能。面试官会提出新需求,在之前的代码基础上重构完成。并且会希望你通过TDD的方式完成,如果不懂什么是TDD,面试官会给你详细介绍,并演示一遍。 4. 通过了上面一个环节,就进入了最后一步:文化访谈。聊的内容比较开放,以往的工作经历、技术栈、技术视野、等等。 大概就是以上几步,好好准备作业,对新事物保持开放的态度,通过面试应该不难。 ...查看更多
2 年前 发布
1
匿名用户
Java
确定通过感觉靠谱
外企普遍喜欢问基础问题,并喜欢考手写代码,首先是自我介绍, 问:你之前面试了几家,有拿到OFFER么?答:没有,这是第一家。 问:讲一下你最近一次项目。答:略。 问:你们这个项目有流量一般是多少。答:扯一通,最后说因为一些原因项目没上线,没有做流量统计。 问:你了解哪些数据结构。答:Collections, 包含List Map Set等,然后是树,包括二叉树,红黑树等。对于之后的数据结构例如图个人还没有学习。 问:Map底层是如何实现的?答:map主要通过哈希算法完成数据存储。主要思想就是使用哈希槽,长度为2的整数次幂,存数据的时候通过计算所存对象的hash值,然后将哈希值对哈希槽长度取模来决定所存数据存于拿个哈希槽。 问:如何解决哈希槽碰撞问题?答:如果取模结果一样,默认会往后一个哈希槽移动一格,若为空,则存,不空则再往后移,直到找到一个空槽为止。Java对hashmap的实现中使用capacity指定哈希槽长度,会有一个loading factor,用来指定当哈希槽达到多少饱和度时会增加capacity来减少碰撞的发生。 问:那你知道priorityqueue吗? 答:priorityqueue就是一种队列,与普通队列FIFO不同的是,出队的时候按照priority权重出队。 问: 那你如何实现priorityqueue。 答:我说最佳实现我一下想不起来了,如果让我现在实现,比较简单的实现方法就是使用set集合,集合中的对象持有一个权重属性。 问:你这个实现入队出队的效率是多少。答:入队O(1) 出队要遍历,所以是O(n)。 问:现在我的系统对priorityqueue是高读取,低写入,你这个实现出队效率太低,怎么办。答:我可以使用数组或者ArrayList,这种实现在元素入队时就进行排列,可以使入队复杂度为O(n), 出队直接取第一个元素,复杂度O(1)。 问:那你知道heap这个数据结构么答:有印象,一下想不起来。 问:那我给你提醒一下,heap可以弹出最小值最大值,你认为用heap怎么实现priorityqueue答:我想起来了,heap就是。用heap做priorityqueue 可以实现入队出队复杂度都是lgN。 问:好,现在给你出个题你做一下,给你一个String, 如何将这个String逆转。答:public String reverseWord(String s){   String r = "";   for(char c : s.toCharArray())     r = c + r;   return r;} 问:你知道什么设计模式?答:gof有23中设计模式,我大概知道其中20种。具体 的话有 工厂、单例、策略、代理。 问:你能具体介绍其中一种么。答:最简单的就是单例。然后讲了单例是什么,讲懒加载,非懒加载。 问:写一下单例模式。答:略。 问:你对面向对象了解么。答:了解。 问:我现在要设计一个文件存储系统,具有目录结构,能实现文件的读写,请问你怎么设计。答:java中已经有设计好了的文件存储系统,如果我要设计我就会按照java已有的方向设计。所以我觉得您这个问题就是问IO流,然后我讲了io 跟 nio ,最后做了一下对比。 问:现在我有一个很长的链接地址,用户输入很困难,与之对应的有一个较短的链接地址。我现在要设计另一个功能,当用户输入短地址的时候,能够自动转换为长地址,并访问那个页面,怎么实现这个功能。答:首先谈谈长短地址的映射关系,如果对于所有地址,都有一种固定的映射关系,例如f(短)=长,那么在用户输入短地址的时候可以直接通过对应算法获取长地址。如果没有这种关系,我只能在数据库中设计一个表,用于存储长短地址的映射关系。具体的实现可以利用拦截器,在用户输入短地址的时候,调用映射函数或查表,然后返回长地址。 问:假设没有这种映射关系,然后我现在每月有5000万人使用这个功能,那么平均每秒会有几次数据库访问。答:我不太明白您这个题的出题意图,如果这是个纯数学题的话,那么就是5000 万 / (30*24*60*60)。 问:只可能是这么多么?答:您没给出具体场景,在一般条件下就是这么多。我认为您其实想问数据库承载量的问题。如果想减少数据库的直接访问量,可以使用缓存。用户访问数据库的时候,如果缓存有对应数据,则直接取缓存,没有则访问数据库,并将结果存入缓存。 问:那你如何解决缓存满了的问题呢?答:定义缓存数据淘汰机制。以redis为例,其内部提供了6种淘汰机制。然后我讲了三种机制,随机淘汰,最少使用淘汰,最近过期淘汰。 问:对于我们这个系统,如何选择淘汰机制。答:这需要分情况讨论,如果用户对页面的请求是完全随机的话,我会直接使用随机淘汰策略。如果数据有冷热的话,比如百度的链接请求次数明显多页某些专业网站,我会使用最少查询淘汰策略。 问:你还有什么问题答:有我想问一下贵公司开发模型,我是指watefall, scrum, agile之类的面试官作答。 问:我还想问一下公司开发工具都是哪些,例如使用什么IDE,用什么做versioncontrol之类的。面试官作答,完。 ...查看更多
2 年前 发布
2
www
Java
确定通过感觉靠谱
技术面1小时,结对编程,TDD,拓展实现几个功能。 这场结束时,面试官说应届生有能做到我这水平的很少😊,可能因为我对代码很熟悉,没有在一个地方卡死,反应比较快,也有和面试官沟通商量吧,虽然做的过程中遇到了磕绊,但都在面试官的指引下顺利解决了,最后还就代码重构和面试官探讨了一下。给大家几点我的小小建议。首先邮件里会给一个GitHub库,自己下载并安装配置好,让项目能正常跑起来一定要熟悉代码,业务逻辑,单元测试。了解TDD!我是在面试前一天晚上突击了解的。在面试的时候和面试官多沟通,展现你的思考!先写单元测试!熟练使用ide以及快捷键!1. 自我介绍:中文/英文都可以2. pre:因为是海外岗,所以 全英文。结束后会提问一下,也是英文问答。我对自己的英语口语比较有自信。pre这个方面,面试官说我是她见过的准备最充分的人了😊,内容也很有体系、完整。其实我不是擅长做presentation的人,大学的时候上台做pre就像念稿子。但是我花了很多时间了解主题,做ppt,收集资料,准备稿子,练习pre,不负有心人啊,在ppt和内容上赢得了面试官的青睐。不过我在面试官提问的问题上回答的不是特别好 😥,所幸没有影响结果。3. 文化部分:中文。通过一些问题查看是否与公司的理念文化相符合。对于这一部分,我有提前了解公司文化,和我心里的期待非常一致,所以回答的比较正常不违心。最后面试官说我和公司是比较match的。...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网思特沃克软件技术(北京)有限公司思特沃克软件技术(北京)有限公司面试经验思特沃克软件技术(北京)有限公司面试经验:这是很久之前参加过面试