JAVA基础(未看)

记近三个月面试的经历 微软 阿里巴巴 字节跳动 依图科技 拼多多

2019-11-16  本文已影响0人  kokokokokoishi

记录近期的面试经历,同月内的面试不分先后

七月

阿里钉钉后台(裸面的,自杀面试)

一面电话

1 介绍做过的项目 (我司用的AWS)
2 项目用到的AWS 的 service (国内大部分公司不用AWS的,这部分大致说下就可以了)
3 架构转变中的难点
4 整个项目CI的大致过程
5 java 基础(太久了,记不清问了啥了)
gc 算法
hashmap ,concurrentHashMap(put过程,怎么解决冲突的,sizeCtl 等关键成员变量的作用)
volatile
spring IOC 过程
如何自己设计IOC框架
6 设计一个高并发系统(考虑到我司的业务场景,直接说没经验,哈哈)

八月

微软dynamic365

一面onsite

项目
英文自我介绍,项目介绍(半小时)

算法
给了道题,用自己的IDE完成
字典序排数

二面现场(中文)

项目
介绍项目,项目用到的service,log怎么做的,DAO层转化遇到的问题,cassandra和dynamodb的区别,项目中消息队列的作用,写出部分表结构,问了下为什么要来面微软。

算法
判断完全n叉树(自己设计数据结构)

三面现场(中文)

项目
项目相关
翻转字符串里的单词 自己设计测试用例

四面现场 (英文)

项目中测试怎么做的,what is your passion 哈哈,为什么要用DDB 而不是在aws 上自己搭cassandra,data migration (spark 相关)
给了个开放性的问题
假设你是一个篮球制造厂商的测试总监,你要如何保证篮球的质量

十月

字节跳动效率工程

一面现场

项目
Java 泛型的理解,hashmap
AWS架构图,lambda warmer 以及可能的问题,乐观锁,websocket相关,JWT以及可能的问题,cassandra dynamodb 区别,为什么选择了dynamodb,IO多路复用,协程(结合网络编程说协程的优势)

算法
数组中的第K个最大元素

阿里菜鸟网络

一面电话

项目相关
1 为什么要用dynamodb
2 cassandra dynamodb区别
3 平常业务中的数据都怎么存储的
4 serveless 架构的问题
5 lambda都用来干什么了
6 对java中锁的理解
7 悲观锁 乐观锁
8 如何用redis设计分布式悲观锁

二面电话

项目相关
jvm内存模型
volatile,
gc算法,怎么判断对象可被回收
平常前后端开发的比例(四六开)

三面电话

项目相关
对CAS的理解,java中的CAS,如何不用unsafe实现CAS
spring ioc过程,循环依赖怎么解决的
spring aop, jdk 动态代理和 cglib稍微说说了下
redis 实现乐观锁
kafka有哪些组件,kafka controller选举过程,kafka leader重选举过程
cassandra 组件,cassandra 最终一致性怎么做的,一致性哈希
对volatile的理解
详细的说一下concurrentHashMap
给了个设计题
假设公司有上万人,一则通知要快速的推送到每个人,如何通过kafka来实现
期望薪资
看重机遇还是薪资

依图科技安防后台(前三轮前半小时都是项目介绍)

一面现场

1 两个栈实现队列
2 一个任务需要一定的人和时间,先有不同的任务,问最少需要多少人(不太记得了,挺简单的一道题,估计小哥自己出的)

二面现场

交错字符串 变种
二数之和变种
三数之和变种

三面现场

判断子序列

四面现场(boss面)

cassandra 在网络中有哪些组件,CAP,cassandra CAP怎么做的,一致性哈希,hint handoff,readrepair, gossip(稍微说了下)
kafka 最早是为了解决什么问题设计的
kafka 网络中有哪些组件,为什么kafka 用zookeeper来存储metadata,而不是用db来存储

HR面

稍微聊了下,谈了下薪水,了解了下安防业务,依图是非常不错的一家公司

字节跳动抖音

五分钟介绍一下自己和自己做的项目(???)
1 java 中数组和链表的区别,各自优势
如何设计拥有高效的随机读取能力的的链表(跳表)
设计跳表,跳表插入开销,跳表随机读取过程
2 java 泛型理解 concurrentHashMap put流程
3 二叉树中的最大路径和
4 消息的推拉模型
5 如何设计推送系统
6 知道B+树吗(说了知道就不继续问了),知道LSM吗
LSM 在cassandra 存储模型中的体现
memtable, sstable, bloomfilter, SSTable合并策略
cassandra 删除怎么做的
memtable怎么实现的(跳表),SSTable(index + 二分)
7 kafka 只有一次生产 只有一次消费怎么做

十一月

阿里供应链(新零售)

一面电话

给了链接,做了道题,双线程交替打印奇偶
之后电话面。
java基础(问了超级多,记不清了,一道接一道,基本上把常见的问题都问了,问了一个小时, 说的嗓子都哑掉了)

二面电话

先问了看重机遇还是薪资
项目相关
kafka两种消费模式
sellect epoll区别
如何解决C10K问题
(之前没听说过这个,面试官解释了下说是单机高连接,
按照tomcat的NIO connector的模型去设计了server,同时调整文件描述符的上限,不知道答的对不对,尽力了)

三面电话

项目相关
kafka怎么做有序消费
kafka leader重选举怎么做的
为什么要用dynamodb 为什么要放弃cassandra
aws lambda怎么实现的(。。。)
项目中服务发现怎么做的,(说用的aws,没用RPC,loadbalance,服务发现都是AWS做的,哈哈)
让我设计RPC 框架(zookeeper做服务发现,loadbalance客户端做,ip缓存,熔断限流,展开说了一下)
spring BeanDefinition作用
spring @Autowired (@Resource, 类似) 怎么做的

字节跳动

忘了部门名字了,被HR喊去面试(这次面试的体验很nice,面试官人都很不错)

一面现场

第一阶段

项目介绍
项目中用到的AWS的service,表结构设计,消息推拉模型
怎么解决follower过多时的消息发送问题
为什么要用dynamodb,为什么要用nosql,而不是rdb(被吐槽没有tx,答这个不是我能决定的,要我就不用nosql)
nosql counter问题(为什么要维护counter表, 而不是调用count,面试官说mongodb里count很快,解释了下cassandra ,ddb 和mongodb 不一样)
cache怎么做的

第二阶段

问了个他们项目中现在遇到的问题
怎么设计 json formatter(一行压缩后的json转化为prettyJson,若输入违法需要输出错误的位置以及预期值),要求写出代码框架,关健的组件

第三阶段

数论题 十进制 转化 负三进制

二面现场

项目
项目介绍
AWS架构图
表构成
websocket
uuid怎么做的,了解哪些UUID生成策略(雪花)

算法
反转单链表中指定start到end的节点(问了下start, end非法怎么办,说让我自己想,我说这个可以有不同的行为,面试官说非法就不反转)
代码长度比较长,难度一般,思路清晰一点点写就可以了,注意边界

拼多多IM部门

一面现场

项目
介绍项目
elastic beanstalk部署怎么搞的
用到docker了吗
lambda部署怎么搞的
websocket
linux IPC
进程 线程 协程
java 字节流 字符流
java 线程创建方式
ACID

浏览器输入url发生了什么(经典问题)
由此深入问了相关的问题, TCP 握手, 挥手, DNS解析过程, hosts, ARP协议
HTTPS怎么工作的, HTTPS建立连接的流程
HTTPS中间人攻击问题

算法
1 判断整数是否为二的幂次方
2 手写堆排序

二面现场

项目
介绍项目
完全按照简历来问的问题
jvm 内存模型
为什么要做架构迁移,迁移中遇到的问题
cassandra dynamodb区别
cassandra 网络组件
kafka 重消费解决
lambda 耗时任务拆分怎么做的
备忘录模式 命令模式

算法
二叉树宽度

HR面

架构迁移遇到的难题,加班的看法,期望薪资

最终有了非常满意的offer啦,面试真的好辛苦,休息一下,迎接更辛苦的工作

上一篇下一篇

猜你喜欢

热点阅读