秋招总结,感谢牛客网,感谢所有兄弟姐妹(略长,慎入)
百度:(offer)
一面:
算法:一张表,表中记录为:一个节点,节点的父节点,节点是父节点的左孩子还是有孩子。Eg:record1:A B left,代表A是B的左孩子;record2: B C right,代表B是C的右孩子。将表形式的二叉树还原为二叉树。会不断的优化。。
基础:JVM内存、GC算法、b+树等
二面:
算法:
(1)二叉树的广度优先遍历;
(2)字典树(即1024叉树)保存在数据库里,方便存储,方便还原。问如何保存。(运气好,答案就是一面的问题),求最优解
(3) 数组的最大子序列和;上升到数组的两个最大子序列和(不能重复),k个子序列最大和呢?
(4) 基础:hashmap rehash实现,concurrentHashMap 实现。
三面:
逻辑:
(1)500个梨放在10个框里,自由放。保证在说出1-500任意个数字时,你都可以给我几个框,这几个框里面的梨的总数为给定数。如:第一个框放1个,第二个放两个,第三个放四个,可以得到1-7任意数;
(2)任意图形,求几笔可以完成(顶点可以重复画,边不可以)
(3)给定一个N,当N是偶数时,除以2;当N是奇数时两种策略:一种是N-1;另一种为N+1;求使N变到1最少的步骤数;
如:N = 3;步骤为3-1=2;2/2=1; 步骤数为2;
N= 4;步骤4/2=2;2/2=1; 步骤数为2;
百度总结:重视算法、逻辑思维,追求最优解;
触宝科技:(offer)
一面:
算法:
给定一个数组,给定k,代表k个数,给定sum,代表这k个数的和为sum,求有多少种满足条件的组合;
如:data = {1,2,4,5,8,0,-20};k= 2,sum= 6;则结果为2;符合条件的配对为{1,5},{2,4}。
坑点:k是任意的,可能大于3,可能为否,data可能为空,可能长度小于k;
基础:网络:握手、报文、数据库的死锁等;
二面:
给定文件,包含100万条记录:name ,score;对文件中score 排序,并输出到另一个文件,内存排序限制最多1万条数据;要求详细全过程,当时写了2页纸,有点崩。
我理解的考点:
考点 1:比较器:把记录保存为对象,使得比较时name ,跟随score;
考点2:reduce的归并过程;
面试官看完我的代码:提示的坑点:
坑点1:File文件BufferedReader 等时需要try,catch
坑点2:崩点预防,即如果先从data中读取1-10000行,排序。再从data文件中读取10001-20000行,如果读取过程中发生意外,怎么办?
处理办法:标记读取哪一行,下次读取从标记位置继续读取即可;
可以想象下catch中怎么写?
基础:sql语句、网络报头,为什么两次握手不行?
三面:
算法:
一个list,里面有n 条url, 现在网络访问时,判断这个list ,命中的概率;
即如:list 里有 www.baidu.com https://www.nowcoder.com/discuss www.163.com 现在访问的url如下:https://www.nowcoder.com/discuss 、 www.pronhub.com 、http://dblp.dagstuhl.de/ 则共访问了3条,命中1条,命中率为1/3 * 100%;求最优解
基础:优先级队列实现原理;进程间通讯方式;
四面:
HR,聊聊天,拉拉家常,非常亲近的一个小姐姐。第二天就给意向书了。给效率点赞;
触宝总结:基础题为常规基础题,重视算法,重视网络;
海康威视:(offer)
一面:
1. #{}和${}的区别是什么?
2. Dao接口怎么工作的?
3. SpringMVC工作流程?
4. 给定三个线程,如何控制使得线程1先执行完,再执行线程2,最后执行线程3;(方法很多,优先级不行,因为不能保证)
5. 线程池实现原理,如何自己实现一个线程池?
二面:
HR, 聊聊天,讲道理,海康面我的HR 还是很有女神气质的;
海康总结:面试的大部分都是985,签约时除了我都是985,只能说可能还是比较看重学校吧,也可能这个公司强的点我还没有get到
唯品会(offer)
一面:
常规基础:数据库莫过于sql语句、数据库优化、执行引擎;
网络:握手、报文、协议等;
Java:集合类源码、线程池、多线程+ 基本概念;
数据结构:思维可能很重要,比如说快排Partion剪枝的各种应用;
二面:
(1) 网络的五层协议,为什么要设置五层协议(有点难);
(2) 思维题:完成一个模块的步骤(自由发挥的);
(3) 数组最大的子序列和(O(n^3);O(n^2);O(nlogn);O(n))
HR面:
这个人是真的在问,就是经常我们看到的题,如最大优点、最大缺点、如何学习一种新的技术、家庭情况,几个兄弟姐妹?
最尴尬的是这个问题,她问我你心目中最想去的三个公司是什么?
我回答第一网易,因为我想去阿里,但是能力不足,她打断说暂时不考虑能力,我说阿里、网易、京东。。她嘴角微微上扬,淡淡一笑,没考虑唯品会吗?尴尬。。。。
唯品会总结:
简历很重要、笔试不重要、面试过程当然最重要了;
58(offer)
一面:
类似唯品会一面的常规题目
二面:我的二面是HR
谈谈人生、聊聊理想;是个小哥哥,很帅,相信很多人看到了,还很礼貌,吸粉了;
二面等了接近2个小,不过碰到了本科同学,那感觉杠杠的;当然还碰到了两个师兄,听说还有很多熟人;为58点赞。
三面:总监
不到20分钟结束,总监很平易近人,聊了聊项目,然后说月中给你offer,然后就结束了。
58总结:技术面其实就一面,都是常规题目,但问的多、杂。总之基础很重要;
银联:(offer,内推的)
一面:群面
这个我也不知道怎么表现,总之要有逻辑,举个例子:从社会层面和个人层面去考虑,其中社会层面包括:***、经济、文化等,个人层面包括:教育、医疗、个人发展等,细节的东西大家也都记不住,面试官也记不住,总之框架才是最重要的。(社会***核心价值观用起来,十九大报告中的大框架用起来。。。)
二面:
1、 Javacore,当时真的不会,后来了解了,大家可以研究下Javacore/HeapDump.
2、 基础知识:Jvm内存泄露的情况;b+树的特点;java设计模式,spring利用到了哪些?
银联总结:不知道为啥,就是感觉群面最关键。
滴滴(二面挂)
一面:
1、 如何判断计算机存储数据是高位在前还是低位在前;
2、 Huffman编码的一个具体实例;
3、 操作系统的的各种问题;
二面:
1、 计算机基础,重点在操作系统;
2、 任意三个数字,数字是正整数,其中一个是另外两个的和,现在有三个人,每个人头顶上贴一个数字,只能看到另外两个人的数字,从第一个人开始问,如果他能猜出来,就说我知道,如果不能就下一个,轮流问(当问到第三个不知道时,就又问第一个,N和前边一样多了一次)。给出N:代表问了几次,m:代表此人猜出他头顶的数字;求其他两个人拥有的数字;
3、 一条线段随机分为3份,这三份组成三角形的的概率;
滴滴总结:都说各种算法,我没有,很尴尬,我的感觉很重视操作系统;
广联达:(二面结束没有后续)
一面:
算法:二叉树的镜面对称;
CS基础
那个面试官很和蔼,看着给我打了个A-,然后没反应了
二面:
思维:有两个玻璃珠子和100层高的楼,测试玻璃珠子在多高的楼层丢下刚好摔碎。注:如果没有碎,则可以继续使用,且珠子没有任何影响,如果碎了则不可以使用;需要求出精确值;
广联达总结:感觉还可以的面试,没有后续结果,当然也不重要。
安利我觉得比较好Java研发方面的书:
(1)程序员代码面试指南、疯狂Java讲义、Java虚拟机;
(2)高性能Mysql、Java并发编程实战、spring 实战、深入浅出MyBatis技术原理
其他的看看博客、面经、找点书等就Ok了。
最后祝所有人都拿到自己满意的offer