1. 输出1234567*(2^987654321)的后10位数
答案是(1234567*(2^987654321))%(10^10).关键是怎么算出这个数
利用取模操作。取模满足分配率:(a*b)%c=((a%c)*(b%c))%c
可将2^987654321分为2^m*2^m*...*2^n(m>=n).
2. Java中ArrayList中插入一个元素的平均复杂度是多少?
O(1). 回答得不好。可见数据结构:线性表/数组那一节。
面完马上又打进来一个,还是那边的人,不过是另一个。
可能是协调的问题,两个人同时对我进行二面。
1. 两个集合,怎么求交集?
类似DB里面的Join操作,说了两种:归并/Hash
归并:将两个集合排好序,然后用类似归并排序的方式取交集。
Hash:用比较小的集合建一个Hash表,然后大集合的每个元素到Hash表里查找,能找到的都属于交集。
然后问为什么用比较小的建Hash表,为什么不用比较大的?
因为小的建出来的Hash表占空间小,查找也快。
对面马上举反例:如果一个尺寸为1,另一个为100,那么用100的建Hash表,只要查找一次就取完交集了。
差点掉到陷阱里。不过马上反应过来反驳:建哈希表也是有开销的。
2. 快排的思想?
递归划分,不停地将比中间数小的划分到一边,大的另一边。划分到列表长度剩1的时候就搞定了。
3. 快排的平均复杂度?最大复杂度?
平均O(n*logn),最大O(n^2).
4. 为什么快排的平均复杂度是O(n*logn)?
回答得不好。
5. 现在有一个单片机,只提供单字节(char)的读/写函数,如何支持float的读/写?
转化为多次char型的操作。
6. 现在有一个广告投放系统,如何保证rank公平?
开放性问题。比如现在有2个广告,广告1的点击/展现是10/10000,广告2是1/10,广告3是0/5,如何公平展现?
言下之意:广告1的点击率为1/1000,这是一个比较稳定的点击率(因为展现次数已经很多了);而广告2虽然点击率比较高,但因为展现很少,还无法确定它真正的受欢迎程度(这已有的1次点击可能纯属偶然,也许接下来几万次展现都不会被点击);广告3虽然最低,但可能只是暂时没人点。所以单纯地按照点击率rank是不够公平的。
问题的核心是:
1) 如何让新广告有机会(例如广告3那种);
2) 同时让那些难以命中的广告能快速沉下去(例如,广告2从此以后一直没有人点击,如何让它快速沉下去。只通过点击率等它跌到1/1000以下是很慢的)。
我提出的思路:
1) 给每个新加入的广告一个较高的起始值i
2) 加入不点击衰减因子c,不命中的时候加速下沉
比如当前rank=点击/展现=h/s. 下一次展现,并点击,则rank变为(h+1)/(s+1)(这个暂时不改)
但当展现但未点击时,rank不再简单变为h/(s+1),而是加一个衰减因子更新为h/(s+1+c), 其中c>0.
然后对方顺着问,如何确定i和c合理的值?
我回答用历史数据模拟,假设有t1时间点n个广告(a1,a2,...,an)的rank值集合R1.
现在将时间回退至t0(初始状态),然后考虑不同的i,c值,模拟(t0->t1)时间段的广告投放、展现、访问过程,得到考虑i,c下t1时n个广告(a1,a2,...,an)的rank值集合R1'.
比较R1和R1',是否R1'较R1有更好的区分度(即R1中相对较低的在R1'中是否更低,R1中相对较高的在R1'中是否更高)
经过若干次迭代尝试,算出最优的i,c值。讨论到此完毕。
分享到:
相关推荐
java笔试题目两套,供大家参考。 题目主要分简答题,sql编写题目,和java上机题目三部分。 其中F卷难度稍微大一些,可以作为中高级程序员笔试用题目
某公司笔试题java&.net全集收录,包括一套Java笔试题和一套。net笔试题,含答案!
一套英文Java笔试题面试题.doc 1. what is the meaning of JVM ? 2.please explain about Reflection concisely. 3.please explain about web.xml 4.please explian about mainifest.mf 5.what technology are ...
很不容易收集到的笔试题 很好哦 很强大的 欢迎来下载
2016年4月方正Java软件工程师笔试题
5套经典的java笔试题,可以自己好好思考一些基础知识有没有掌握,有的有答案,可以参考
100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解java.docx Addison.Wesley.Java.Concurrency.in.Practice.May.2006.chm ...
java笔试题第四套题.pdf
一套JAVA笔试题,全面,综合的说明公司所需技术要求,要的快下吧
这套笔试题有JAVA基础 有数据库,servlet jsp 。 struts hibernate spring 等框架的笔试题 涵盖面非常广泛基本JAVA笔试题都有
中中创JAVA笔试八套题附答案创JAVA笔试八套题附答案中创JAVA笔试八套题附答案
java笔试题含答案 里面有16套试题 数据库和java的基础操作
2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx Java初级程序员面试必备的基础知识总结.docx Java基础、Java集合、多...
多套Java笔试题,涵盖了各项内容,供大家分享。
平安科技java笔试题,很好的一套题目哦,需要的一定得看看
来自于日本某大手公司的一套java手动操作试题 有java javascript Shell 主要实际操作,也涉及一些算法,有需要的可以去看看练练
恒生电子笔试题 Java。 历年恒生电子招聘笔试题,全套题型,包括选择题(Java、c++)两部分 笔试题 Java 恒生电子
精选Java开发试题、整套考卷100分,分为单选、不定项多选、简答题和编程题等部分,试题内容精选自互联网,知识点覆盖面广,从多方面、全方位考察答卷者的Java技能掌握程度。适合自测、面试、班级测验等等。
这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和...