面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

匿名用户
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
匿名用户
Java
确定通过感觉靠谱
一面: 1.面试官上来就问项目,你们的项目用了那些技术? 2.你在项目中做了什么?说一说。 3.商品管理在数据库中有几个表? 4.商品价格变动,商品的信息会变动吗? 5.你们设计数据库的时候遵循什么原则? 6.商品的基本信息与规格信息分两个表存放,前台查询的时候怎么处理? 7.你对于sql查询的优化有什么看法? 8.你简历说你会用git,svn,我想问你们多个人用git上传出现冲突怎么处理(好像是这么问的)。 9.你说你用redis做了缓存系统,redis怎么用的? 10.现在有这么个场景,前台访问量特别大,缓存系统压力变大,你有什么好的办法吗? 11.咱们来聊聊java基础吧,讲讲String类型。 12.你提到stringbuffer是线程安全的,你能讲讲你对java线程安全的理解吗? 13.java的集合用过吧,讲讲hashmap,包括它的底层数据结构、关键方法的流程等等。 14.你说你熟悉java并发编程,你能说说线程池的使用有什么好处吗? 15.跟executor有关的五种线程池,你能讲讲吗? 16.https和http的区别? 17.你们做的项目中,http的方法用到哪些? 18.讲讲get和post的区别。 19.说到请求头,讲讲请求头里都有什么字段? 20. 你们项目中用到了日志吗? 21.简历上说你熟悉spring,springmvc,mybatis,那咱们来问问spring的问题,springmvc的controller和restcontroller标签的区别? 22.简历上说你会JavaScript,你们项目的前端是你写的吗? 23.简历上有个你自己的爬虫项目,大概讲讲。 24.简历上说你熟悉设计模式,讲讲你熟悉的设计模式,你用过吗? 25.你还想问我什么问题吗? 二面:二面只面了十几分钟,面试官是个部门经理,他只问项目,其他的不问,我跟他讲了一下,可能他觉得没什么技术含量就没怎么问,最后介绍了下他的部门和对无经验应届生的培养,还介绍下天津的新研发中心,然后让我等hr。 hr面:hr的话,她就问些你问什么来途牛,为什么想来南京,平时业余时间干什么,身边的人怎么评价你等等。 ...查看更多
包含1个问题,1个回答
Q:你们做项目设计数据库的时候遵循什么原则。
2 年前 发布
10

进入微信小程序

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

立即前往
看准网北京力鼎创软科技有限公司北京力鼎创软科技有限公司面试经验北京力鼎创软科技有限公司面试经验:公司面试题比较简单,后面两道英文大题
正在招聘售前工程师/咨询顾问(GIS专业)1 个岗位