Java面试总结

美团一面电话面试总结
(2018.8.28 43分钟)
问题:
1,java中的Object中的方法有哪些?
2,解决哈希冲突有哪些方式?
3,Notifily之后是执行当前线程的剩余部分的代码,还是立即执行其他的线程?
4,单链表逆序输出元素
5,介绍一下阻塞队列
https://www.cnblogs.com/tjudzj/p/4454490.html
6,Java中的类加载器有哪几种?分别介绍一下每种类加载器
(这些问题答得都不好,可以说是很糟糕了)
(感觉超级糟糕,主要栽在多线程上了,关于内加载器唯独种类的介绍没仔细看,偏偏就问了,关于美团面试,这运气呵呵,真是没的说,秋招的第一次面试,整个人紧张的无法思考,该说的好多都没说出来,语无伦次)

WPS一面总结
(2018-9-5 20min)
1,快速排序最多需要交换多少次?
一面试就无法思考,回答了n次
应该是(n-1)+(n-3)+(n-7)+(n-15)+…+0一共log以2为底n的对数再加一
2,谈谈对MyBatis的理解?
应该是想问MyBatis的底层原理
3,如果不知道数据库中的表该怎么插入对象?
反射,但是不知道该怎么回答了。
4,OSI七层模型和TCP/IP的对应关系?如果有一台路由器连到一台PC上,那这台路由器可以到达的最顶层是哪一层?
大概是没他理解它的问题,网络层吧!
5,讲讲GC。你觉得GC有什么不足的地方?
不足之处想不出来,真是智障,就凭感觉啊!感觉就是对的啊!程序员自己不方便自己进行管理内存,不够灵活,看C++程序员,delete起来多方便。

WPS二面
(2018-9-10 20min)
问了简历上的几个项目,超喜欢这个面试官,好温柔~
(不管wps的结果如何,经过这次之后自己心好像沉淀下来了,感觉自己需要静下心来好好去学习,把自己再变得优秀些,也闲下来思考了下人生,生活本来就不是容易的,不管做什么都得努力。好好睡一觉,整个人生都好像明朗了!加油!)
唉,当时也是傻,问愿不愿意去武汉,武汉离你家也近,我:不想去。。。

大华

(感觉10分钟都不到)
1,TCP流量控制?
2,HTTP和HTTPS,HTTPS是怎么加密的?

海康威视

(2018-9-14 40多min)
1,手写sql
涉及到grouop by,having,distinct这些,对这个distinct不太了解
还举了两个模糊查询的例子,%王%用索引吗?王%呢?
2,TCP三次握手画图讲解
3,线程转换图,以及每个状态的讲解转换讲解,新建的方式,阻塞原因,怎么同步,synchronized和lock,sleep和wait,notify和notifyall,
4,为什么用TCP不用UDP?
5,restful了解吗?
不了解
6,SpringBoot与SpringMVC的区别?
7,分布式框架知道哪些?
dubbo,docker…
介绍一下docker。
你觉得docker有什么优势?
8,项目合作压力测试
这个面试管是真的真的很喜欢,感觉真是太适合做我的导师了。
Hr面
(好吧,我终于忍不住吐槽这个hr了,真的跟个冷血机器人一样,不看她的眼睛我还能舒服点,尤其到最后那一分钟,我感觉我前面真的是坐了一个机器人,在说着僵硬不变的台词,机器人都比她要有血有肉吧。我要是招hr我绝对不会招这样的,第一次的hr面,感觉以后都有阴影了,有时候也是佩服自己了,面前坐着个僵尸,也能微笑说话,大概我是天生的爱笑吧!)

去哪儿

2018-09-19 30min
1,看你的笔试题有道sql的题错了,然后开始问mysql
…join on a.id=b.id and b.s=90
…join on a.id=b.id where b.s=90
感觉是一样的,自己试了一下确实一样。
第一句是先取and再取交集,
第二句是先取交集再使用where条件筛选。
这两者的查询结果相同吗?
2,问你linux或者操作系统吧
我说我linux很少用,不太熟,然后就问操作系统。
进程和线程有什么区别?
回答中提到了线程共享进程的资源,然后就被问到线程共享进程的什么资源?
我不清楚有哪些资源。
3,计算机网络,怎么判断丢包?
我:只知道如果数据包丢失,发送方不会收到确认帧。
(写面经的时候突然想起来有个ping命令)
所以你不知道怎么用命令查看是吧,我说是。
4,10分钟写个快速排序
还是去年看的,只知道排序过程,没看代码,想着这么长不会让写的,好吧,是我低估去哪儿了。结果写的很是糟糕,不忍直视,然后讲了下排序过程。
然后又被问到快排怎么优化?比如待排序的记录已基本有序,每次只会划分一个数据,就退化为冒泡排序了。
5,然后看你的项目,只有10天,这么短。
好吧,功能挺少的,比较简单。
然后接下来就是你有什么想问我的了。大概半个小时左右,凉凉。

(又听到舍友在哭,我也想哭,可惜连找个可以哭诉的人都没有,这才是最可悲的,到处都有哭声,谁不辛苦了,生活本来就不容易,一向什么都随着自己的心意,不做违心的事,不说违心的话,总以为一切都是温柔的,结果现实都是残酷的,还是自己不够优秀。能说什么呢?真是辜负老师们,同学们这么多人对我的期望了)

迅雷

2018-09-21 20min
1,进程和线程的区别?
什么时候用进程什么时候用线程?
2,HashMap的数据结构?
单链表过长怎么处理?
3,TCP和UDP的区别?
什么时候用TCP什么时候用UDP?
感觉自己这里答的不够好,通讯的时候可以用TCP,邮件文件传输可以用UDP。
4,表里面有千万级的数据,现在要查询某个指定的值,怎么查询效率比较快?
5,数组和链表的区别?
6,出了个算法题:给定一个无序数组,在里面指定一个元素a作为其中的一条边,再在这个数组中再找两条边出来构成三角形。
想一个算法效率尽量的要好,咳咳,想了一会儿还是只想到for循环。
其实这些都是套路啊!我也想到了,没敢说出来。。。(感觉自己咋每次都这样,能胡说还是胡说吧)
可以先将数组进行排序,然后设置两个指针,一个指向数组的开始位置,一个指向数组的结束位置,然后向中间进行扫描。找出两者之和大于a的。这真是一个很简单的问题了。
不会因为这个就挂了我吧!经过一次次的惨败之后我觉得是完全有可能的了。感觉自己总是自我感觉太过良好了。
7,如果程序在运行的时候突然卡住了怎么知道是哪儿引起的问题?
额,这个也不会。

又多了两次凉面

途家

2018-09-28 (50多min)
(面试地点很偏僻,小区里面,找了好久才找到,高级民宿(酒店),但是风格很别致,小楼阁,花花草草鹅暖石之类,面试的时候也是在榻上,回来的时候明白了,这不就是途家的主题吗?民宿,旅途中的家)
1,熟悉什么数据结构?
我感觉都知道一点,也不敢说自己到底熟悉哪个?
B-树,B+树有了解吗?
B-树不了解,B+树知道点,根据以前看mysql索引介绍了一下。
然后出了个二叉树的算法题
一个人站在二叉树的左边,输出这个人能看到的节点,不过面试小哥可没我画的这么好,就画了几个,而且右边画的好少,所以我代码写出来,考虑的也不全面我觉得也是有点关系的。
Java面试总结_第1张图片
2,介绍一下HashMap的put方法?
3,Spring依赖注入是怎么实现的?
依赖注入和控制反转有什么区别?
4,设计模式有了解吗?
代理模式和装饰模式有什么区别?
使用上又有什么区别?比如在编写模板的时候这两者看起来是没什么区别的。
你比较了解什么设计模式?
说了单例模式,然后让写一个你认为最好的单例模式?
写了单例模式的懒汉式(单例模式我只见过这两种,也从来没思考过别的写法)
你还有什么更好的写法吗?
想不出来。
问是线程同步这方面的处理吗?然后说加锁?voliate?原子类?感觉好像不是这方面的意思?
然后就问知道哪些原子类?
就知道个AutomaticInteger
voliate的底层原理,我觉得我说的已经很底层了,后来百度发现,voliate修饰之后,会在指令前加上lock前缀指令,设置内存屏障,从而禁止了指令重排序。
都忘了之前问的是啥了,咋就扯到CAS了,然后又问我CAS。
5,git和SVN的区别?
当前在b分支上,怎么把a分支上的内容download下来?
6,线程池了解吗?
然后说了exexutor和ThreadPoolExecutor两种方式,然后问我核心线程数,我说了一下传参,还有核心线程数的作用,然后他不想听这,出了个题线程池中现在没有创建线程,允许的最大线程数为100,现在有101个任务,会怎么样?
我说会创建线程,然后最后一个任务会阻塞,先等着。感觉自己说的很不好,线程池是看的挺乱。百度之后,发现说的真的是错的有点远,

58集团

上去啥话不说,在纸上写了一个题:
现在有两个文件:第一个文件一个100w行,第二个文件100w+100行,这个100w行是重复的,怎样找出不重复的那100行?
我说的是先合一起,再找出不重复的。
然后又给我找了个笔试题:
求输入的元素中的数,其中是4的幂的个数。
然后我用1<<2逐次比较的方式做的,然后面试官问如果这个数特别大怎么办?那岂不是要比较很多次,我说先一边开方,然后一边左移,同时比较。(现在看来自己说的真的是很智障,真是个傻子,要是奇数次幂怎么办?)
最后再问了一下Spring依赖注入就结束了。

好未来

(https://www.nowcoder.com/discuss/128618)
1,SpingAOP原理?
2,代理模式?
3,知道RPC吗?
不知道
没关系,如果你是被调用的那一端,你觉得你要怎么做?
4,数据库分库分表?
5,让手写个函数,统计源字符串中包含多少个目标字符串?
感觉我写出来很简单,就几行代码,然后面试官看了好久。闲的无聊的,听了旁边的,问的是什么hashMap。
然后问我,是不是用了库函数?库函数?我感觉java里面没咋用这个描述吧,他不会想说的是subString()吧,我想了一下,大概是这个意思,然后说了句是。我觉得他肯定是个学C,C++的,C,C++里面是这么叫的。
6,网络编程有哪些api?感觉是UNIX C网络编程里面的?以前上选修的时候学过一点,我说没咋用过忘记了。再次肯定了面试官是个学C,C++的。
7,说一下Tomcat的结构?
8,进程间的通信方式?
9,java类加载机制?
10,JVM的内存模型?
面试了感觉不到二十分钟,然后让下去等,过了一会,今天就到这里了。等了三个多小时,就面了20分钟左右,生气啊!怎么到我这效率就这么高了?
真的是挺后悔,放弃了昨天珍爱网成都的面试,怕第二天赶不回来。

当当

项目相关,
拦截器与过滤器,
分布式session共享
hashMap,ConcurrentHashMap
mysql事务隔离级别
线程池:创建方式,参数,如果阻塞队列也放不满怎么办?

火币

一面
1,知道哪些数据结构?对应java中的哪些关键字?
2,ArrayList与LinkedList?
@@3,HashMap是怎么扩容的?rehash?
讲的不是很清除。
@@4,为什么ArrayList每次扩容为之前的1.5倍?而HashMap扩容为之前的2倍呢?
5,为什么不用HashMap+Synchronized而要用ContruentHashMap呢?
@@6,手写二叉树先序遍历,写了递归方式然后问非递归怎么写?用while循环没法写,然后面试官提示说用栈,可能自己没咋用过栈吧,光想着直接全部入栈之后再出栈了,然后又给绕回去了。然后面试官终止了这个问题。
7,进程间的通信方式?
8,怎么在elipse里面查找一个类?单步调试?git提了一点点没问啥。
9,Spring依赖注入是什么?
注解是java里面的吗?
10,大致看了下项目没有详细问。
11,GC有哪几种方式?
说了判断引用的方式,引用计数法和根可达性算法。
12,数据传输的时候有做加密处理吗?怎么知道数据有没有丢包?怎么知道丢的是哪个包?
13,Nio有了解吗?
感觉还聊得挺久,写出来大概就这些。
二面
二面感觉就是随便扯,自己学的太基础了。
1,你觉得你最擅长什么?
web后台开发吧。
2,有深入研究的方向吗?(估计是想深入聊这个)
我感觉自己都学的很基础,但是我相信自己,我还没遇到解决不了的问题。死在这里了吧,和大佬没聊的。
看了看简历好像说了点Spring的,也没说个啥。
3,你觉得你做这些项目的收获是什么?(忘了是不是这样的)
我说是找到一种共性吧,感觉不管用什么框架,基本操作都是增删查改。
面试官:那大数据呢?
我:…这又是另一个领域了吧。
4,你的职业规划是什么?
我说我对各个方面都挺感兴趣的,现在是想把java后台先学好,然后在学学运维前端,因为以后想要做全栈。
那你觉得怎样算是学好了呢?
我说当可以指导别人怎么做的时候了吧,可以独自负责一个项目。。。。
接下来就是你还有什么想问我的吗?

感觉二面自己纯粹在瞎扯,说的很凌乱,没有深入研究的方向,和面试官没啥聊的,很尴尬,学的都太基础了。
二面挂了。
第一次霸面吧,去了就面了。感觉火币的面试官都很好。感觉自己有点辜负了一面面试官的感觉。二面的面试官感觉有点皮,二面完在外面等的时候坐在了一个面试官的前面,哈哈,聊了几句,感觉也挺好。
心好痛啊!年薪30万的火币,我要是再努力点…唉,说不定也能进火币了。

绿盟

Java转岗到安全开发
看重实际操作。
提前看了了点web攻击手段。
最后问愿不愿意去西北五省,表示太偏,不想去。

Grab

第一次用ZOOM面。
貌似是让英文自我介绍,估计当时没听清,说的中文,然后被终止了。
介绍项目,介绍数据库表,每张表叫什么名字,重点让介绍了订单表,有哪些字段,字段的类型。
然后是业务场景:(当时没写,过了几天记不清了)并发访问之类的,然后我说的增加版本控制字段,然后问我具体怎么写,具体语句~?说的有点乱。
之后是共享桌面手敲代码,第一次这样的面试,表示有点紧张。
题目都是英文的。还先让我读一遍题。
第一道:两个单链表节点逆序相加之后再将结果逆序成一个新的单链表。
还没敲完,感觉有点多。
然后第二道:字符串逆序,不能用api。
感觉这个很简单啊!用api很简单啊,StringBuilder里面有个revise,不用也很简单啊,字符数组逆序就好了。敲了几句就没了。
然后问我有没有其它的方式,跟我说栈,我说这不是跟这个数组逆序差不多,栈先进后出,还是要利用集合或者数组吧,也是逆序遍历啊!

优信二手车

面试问的都很简单,口述冒泡,想想就心酸,以前手写快排,现在口述冒泡。。。。
面了快一个小时。面试难度感觉还不如海康。
Hr面
问有没有考虑过其它岗,比如数据挖掘,额,当时也不太清楚数据挖掘,就说没接触过,(而且感觉需要机器学习,算法啥的,感觉很伤脑)不太了解,暂时没想过。。。
最后开奖了,问hr,hr说Offer名单里面没有我。心塞。。。

深圳幸福商城

一看是深圳又是商城就去了。我最想去的就是深圳了,最喜欢的就是商城这种了,唉,又进不去阿里这些。
两轮技术时间还挺长的,还是挺难的,比有些大公司都难了。可能是因为不给实习,直接入职的原因吧。面试也过了。最后offer座谈会一共5个人,一个行业一个。最后纠结了很久还是拒了。工资实在低的。。。。。。

上海热璞

突然觉得热璞还是不错的,还是写下来。虽然面的时间短就二三十分钟,好久没面试过了很多东西都忘了,自己说了一大堆不知道没想到还过了。
笔试都过了半个月了才打电话安排面试,我签都签了,都回家待着了。还是试试吧。
一面
问笔试题自己感觉怎么样,觉得自己哪儿错了。我感觉后面的多线程可能写错了,问我想过怎么写没,想到是想过懒得没回去写。就说时间久了忘了。
线程池
讲讲动态规划
本来想拿0-1背包举个例子说了几句又不知道该怎么说了。
TCP拥塞控制,缓冲区怎么变的,还有慢启动,快重传。
好久之前看的了,记不清,说的很乱。
用的什么linux系统?
centOS,Ubuntu还有自己重装系统啥的.
分布式的了解
随便说了点。docker,hadoop。
hr面
中午面的,下午就安排hr面了。
我想这一定是我见过最好的hr了。
咳个不停,挂了电话喝完水又继续跟我打电话,给我讲了好多好多。真的是于心不忍跟她说我已经签了。最后终于说完了,真是感觉自己挺愧疚的,导员还跟我发消息说他们特别想让我过去,后来在微信上还是给她说了我签了。但其实主要还是薪资对我的吸引力不够。

春招

传音控股

聊天
单链表遍历一次找到中间节点?

西山居

C++的模板和java的泛型有什么区别?
闭包?
堆和栈的区别?
方法区和常量池?
https://blog.csdn.net/Jae_Wang/article/details/80291402
MySql存储过程?
Spring依赖注入?控制反转呢?
控制反转侧重于思想,而依赖注入则是这种思想的具体实现。
自己设计一个函数计算一个字符串的哈希码?
都答的不好,凉了吧。

趋势科技

实习的项目
关系型数据库和非关系型数据库有什么区别?

你可能感兴趣的:(java求职)