网易互娱初级游戏面经
一面:
自我介绍
实现一个栈并书写测试函数(跑通)
主要实现push, pop
JAVA中的栈和堆
栈帧是用什么数据结构实现的
JAVA中的垃圾回收
二面:
自我介绍
项目经历
撕代码:跳台阶(2/3阶)——动态规划和记忆化搜索都写了一遍
topK用什么方法?——排序、堆、快排
堆的删除和添加操作?
快排的详细操作?怎么解决重复和有序性问题?
A文件和B文件中分别有50亿个url,只有4G内存,怎么找到重复的元素?——桶排思想,切割小文件,计算哈希值,模一个数,将相同的归类到一个桶,再一个个比较。
一个圆内生成随机左边——方形剔除、极坐标
有哪些offer?
有什么要问的吗?
浙江大华(已拿offer,价格白菜 offershow):
电话一、二面技术,hr在介绍公司和杭州还有友商,怎么说呢 听说大华hr很迷,能不能过不一定
一面、大数据hadoop hive hbase的底层,问了 jvm 内存分区与jmm,问了mysql索引及底层,问了linux 、etc目录下都有啥
二面、全称怼项目
海康(已拿offer):
内推简历可免笔试(简历没过内推就要笔试)
一面:项目、java基础(容器重点,jvm),spark核心(面试官牛逼,感觉源码所有都读过),问了下数据结构jvm 再次感谢面试官!!!
二面:hr面,意向地,规划啊之类的
签约:给价格 地点 岗位,一般定了就没法调动了,最多一天时间考虑,感谢感谢!
毫无准备
- 8.14 阿里巴巴一面(新零售供应链,凉了,这是我的第一场面试),大概30分钟
HashMap和HashTable区别
HashMap实现原理(put、resize)
StringBuffer和StringBuilder区别
数据库事务隔离级别
如何避免幻读
MVCC
数据库引擎(Innodb)的事务支持粒度
如何实现乐观锁 CAS?
Synchronized实现原理
tcp三次握手,四次回首
osi7层模型
最后问了两个智力题:
两个粗细不均匀、长短不一的的绳子,燃烧一根分别需要60分钟,如何利用两根绳子,测量出15分钟?
一个篮球可以装多个乒乓球?
-
8.21有赞一面(凉了)20分钟
HashMap和ArrayList默认容量分别是多少?
HashMap和HashTable区别
HashMap什么时候扩容,几倍? 2
ArrayList什么时候扩容,几倍? 1.5
讲讲Java内存模型
讲讲gc算法
01背包问题,我说了dp的方案,但面试官说使用贪心算法(性价比最高优先,我当时屈服了),但是后来发现,贪心不行。1
2
3
4
5
6
反例:
W=
30
物品:A B C
重量:
28
20
10
价值:
28
20
10
根据策略,三种物品单位重量价值一样,程序无法依据现有策略作出判断,如果选择A,则答案错误。
-
8.26 美团二面(估计凉了,但还没收到拒信)
一面:(25号晚上做了美团笔试,很差,3道算法题,只过了30%)
上来先吐槽我算法很烂,然后要考察我基础。
进程调度方式
进程与线程区别
多线程优点
进程同步有哪些方式
osi七层模型,以及对应都有什么协议
tcp三次握手和四次挥手
udp和tcp区别
http报文都有什么
客户端发起http到服务端返回的详细过程
编程实现求二叉数深度
还有一题忘了。二面:
二面主要考察场景题,让我从自己的项目出发,如果项目需要上线了,需要考虑什么问题。
看过那些架构的设计。
平时的学习方法。 -
8.27阿里国际(深圳)一面(凉了)
GC算法都知道哪些?分别讲讲(serial pal new、parelle scavge、serial old、parelle old、CMS)主要讲了下cms
JVM内存模型。
Zookeeper原理,当有3台服务器,一个挂了,怎么保证服务的正常使用?
Spring 怎么接受web请求(应该是Spring MVC)流程是怎样的。
AOP原理
Spring Boot启动加载过程。 -
9.3 葡萄城(一面+机试+二面,凉了)(C#做控件开发)
一面,两个面试官,问了计算机网络,还是那些常问的问题,我就不列出来了。
问java有什么优缺点,我说单继承,接口可以多实现,就问为什么?多承继为什么不好?(自己给自己挖了个坑)
还喜欢什么?集合。
都有哪些集合?balabala……
HashMap是怎么实现的?baabala
HashMap可以解决什么问题?我说字符频率统计。
怎么做的?比较hashcode,然后比较equals
如果字符串是变量怎么办,“abc abc”,两个abc的地址不同?暗示hashcode不同,没答出来…
git常用操作都有哪些,查看日志用啥?
如果不小心把一个很大的文件2gb,push了上去,然后发现后在远端删除了,之后别人执行git clone,会把所有的历史信息给clone下来,如何解决这个问题?
重点提的是,让我讲述项目难点的时候,我提到了跨域问题,我当时对项目还没有完全熟悉(2年前做的),一直在那讨论为什么会出现跨域(这也导致我回去之后,把项目仔细看了下,发现是我当时对项目不够书序,导致描述错误)
二面,机试:用#画直方图?,输入一组数据:1
2
3
4
5
6
7
8
9
10
11
12
13
[
{value:
2
,label:”a”},
{value:
5
,label:“b”},
{value:
3
,label:”c”}
]
输出:用空格分割每列
#
#
# #
# # #
# # #
———-------
a b c
做出来了之后,让支持value是复数,即在虚线下方画#,比较简单。
三面,还是2个人,比较有映像的是:
让我简单描述如何实现电梯调度算法,字符串压缩算法。(这个回答的不是很好,回家之后才想起来电梯调度算法和进程调度算法差不多)