【秋招总结】渣本Java应届生如愿以偿拿到阿里跟腾讯offer(双offer面经)

osc_o44vh5qb 2020-11-10 10:51:57
docker 面试 c++ 设计模式 Python


前言

今年9月10月份,每天苦逼的刷着群里更新的面试题,逛着群文件里面的大厂面试,每天的心情就像一个一首歌,“山路十八弯”。点击此处免费进群,暗号:CSDN
在这里插入图片描述

看过别人发的腾讯大厦,幻想过腾讯大厦向外看的感觉。
在这里插入图片描述
大一暑假去过阿里杭州园区,担忧自己有没有机会再去。

真的没想到迷茫中的自己等来了腾讯,又迎来了阿里。

终有一天,梦想实现,想起阿里园区中的一句话,“谢谢那个曾经努力的自己”

面试情况

腾讯(WXG微信支付)

投的是CSIG云产业群,意外的被WXG微信组捞起,感谢机缘巧合吧。

腾讯简历面(编程 + 33分35秒)

  1. 记事本里手写OOP实现一个签到的程序。
  2. 从一堆数字中O(n)找不重复的数字。
  3. 字符串处理,魔改KMP。
  4. 数学智力题,64匹马取前8,问最快要几次。11次。
  5. 简历面,问项目做了什么,主要的技术栈。

腾讯一面(41分38秒)

  • 深入问了我项目。
  • 线程池,连接池,各自优点。
  • Java常见设计模式。
  • 讲讲builder建造者模式。这个答的不太好。
  • TCP/UDP区别,什么时候该用什么。
  • UDP实现TCP。
  • 设计一个APP,TCP/UDP具体运用。
  • 数据库索引,数据库引擎。
  • 学习方向,我说C++/Java/Python比较均衡。
  • 科技创新立项都做了什么。

没给我机会问问题,大概还是我太菜了。

腾讯二面(视频面试,75分钟,主要是写代码)

  1. ACM复杂规则模拟。这里可以用Java责任链模式,但当时问的时候我没有答出来,看过忘记了。
  2. Java GC。开始背诵balabala。
  3. 双亲委派机制。
  4. 产生死锁的四个必要条件:
  5. 互斥条件:一个资源每次只能被一个进程使用。
  6. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  7. 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
  8. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
  9. 独占锁,共享锁和更新锁。
  10. 还有什么想问的。问了下技术氛围和学习情况。
  11. XSS注入攻击了解不。答不会。
  12. SSH登录,我说了半天,对面说这个方法叫什么。想了一下,非对称加密。
  13. 实现一个人脸识别软件要多少工时?
  14. 说实话,这一面面的我快自闭了,有些看过就忘了。

腾讯三面(微信语音的)

  1. 进程调度,进程状态切换。
  2. 怎么用Java/C++实现线程池,具体的做法。
  3. Spring框架,ORM框架Hibernate讲讲。
  4. IOC, AOP,IOC(控制反转)和DI(依赖注入)有什么不同,Java反射机制。
  5. 适配器模式(Adapter pattern),桥接模式(Bridge pattern),组合模式(composite pattern)
  6. 主要问我想做的技术方向。
  7. 介绍腾讯的部门和人员划分等。
  8. HDFS, Paxos***协议,zookeeper和redis一点点。
  9. 口头offer

在这里插入图片描述

阿里巴巴

阿里一面(38分50秒)

  1. 自我介绍+项目介绍。深度学习,SSH框架,C#,Java
  2. 看你提到了连接池,druid连接池。
  3. 常见排序算法。快排,二路归并,冒泡,插入,锦标赛排序。topK问题。
  4. TCP三次握手,四次挥手。
  5. 数据库引擎对比,索引。Innodb,Myisam和Memory对比了下,B+树,hash,between操作,left join操作。
  6. 看你搞ACM,你给我讲个简单的数据结构,答了并查集和线段树。
  7. 怎么保证多线程操作的原子性。原子类,锁,volitile部分操作。
  8. 深入问了乐观锁,悲观锁及其实现。我提了CAS, ABA但是不问我hhh。
  9. Python机器学习基础。
  10. 怎么解决依赖问题。
  11. zookeeper锁,数据库隔离级别。
  12. docker隔离部署问题。
  13. taobao查询排序要考虑那些因素?这个问题贼困难了,能说的东西很多,估计是看了我简历上机器学习,答了过往消费记录,搜索记录,协同过滤,聚类。
  14. 有什么要补充的呢,要考虑商家那边的情况,balabala。
  15. 还有什么想问的。

总结:问的问题很碎但是很全面,很容易看出一个人的基础掌握程度。

阿里二面(45分39秒)

  1. 自我介绍+项目介绍。深度学习,SSH框架,C#,Java
  2. 项目中你相比于别人的优势在哪里,就是你用了别人没有的东西。
  3. 你觉得你的能力大概在什么方面。ACM能力。当时以为要我敲代码了。一边说话一边开机。
  4. 你是如何进行学习的?
  5. 画一个软件的执行流程,UML, ER。
  6. 有没有写过开发文档。
  7. Java怎么加载类,加载验证准备解析初始化使用卸载,双亲委派机制。bootstrap class loader,extend class loader具体。
  8. linux常用命令。iftop,netstat,htop,apt,yum,source,corn,docker等等。
  9. 讲讲docker。
  10. MVC,MVVM对比。
  11. Spring的IOC, AOP。
  12. ORM框架Hibernate讲讲。
  13. 设计模式了解吗?
  14. 还有什么想问的。

总结:这一面中规中矩,没有问很难的问题,只要确实尝试过简历上所说的内容,应该都可以答出来。

阿里三面(leader面 18分59秒 + 24分53秒)

  1. 提前一天预约
  2. 告诉我今天面试40分钟左右,包括自我介绍,技术知识,项目经验。
  3. 自我介绍。奖学金,ACM,深度学习,传统项目开发,负载均衡优化等。
  4. 你维护的CSDN和Github主要内容,刷ACM题情况。
  5. 你的哪块基础知识比较好一点?每块都很平均吧。。。
  6. TCP如何在不可靠网络传输上实现可靠传输?超时重传,滑动窗口。TCP状态。
  7. TCP超时时间,RTT怎么计算。
  8. 4G切换Wifi时候TCP怎么实现流量变化?分组丢失,快重传,快恢复等。路由器交换机排队。
  9. 常见的TCP优化算法。TCP拥塞算法,答了谷歌BBR和锐速的原理以及简单实现。
  10. 操作系统linux内核对TCP优化的办法,HTTP1.0,1.1,2.0每个版本做的更新。状态100,host字段,谷歌浏览器6个TCP连接等,支持长连接。
  11. HTTP中cookie和session的区别。客户端服务端,表示用户的方法,禁用cookie时候怎么办。
  12. 在上一条的基础上拓展答了Redis.
  13. session存的数据结构,对于单个用户set,多个用户hashmap。
  14. hashmap的原理,key-value计算,冲突解决的三个方式。和二分时间复杂度对比。rehash造成环。
  15. hashtable线程安全嘛,讲讲线程安全具体实现。
  16. conCurrentHashmap和Hashmap性能上除了分段锁还有什么别的优化。我只回答了段内扩容。
  17. 高并发场景下hashmap使用,CAS,ABA问题。
  18. 并行和并发的概念和区别。时间片,上下文切换。
  19. 数据库范式,NoSQL了解过吗?
  20. UML图,ER图,流程图。
  21. 数据库的索引,最左前缀,abc三个主键。
  22. 跨表查询常见优化思路。

总结:此人说话很有条理性,一听就是大佬,全程在敲面试记录,综合体验还是很不错的。

阿里四面(交叉面 天猫超市)

  1. 自我介绍,介绍完了又让我确认了一遍 专业,学历,电话确认。(?)

  2. 讲讲你的ACM经历。

  3. 你有考虑过考研嘛?可以在企业中学到更多吧。开始迷了一会儿,听不清对面说什么。

  4. 对比一下考研和工作。

  5. 怎么平衡工作和休闲的时间。

  6. 你在深度学习项目里面做了什么。看过花书,西瓜书,机器学习导论。

  7. 这个项目可以用到哪些方面,夜间摄像头,老照片修复等等。

  8. 你了解Java开发框架嘛?SSH,SSM。扩展了dubbo,durid,rocketMQ,Netty。这个问题我答的太多了,磨蹭了蛮久。

  9. volitile保证内存的可见性,禁止指令重排,***。

  10. 内存屏障。直接说不知道,大神我真的不懂啊。。。

  11. 讲讲rocketMQ,优先级队列,Filter,Persistence,Reliablity。

  12. 消息的一致性怎么做。保证幂等性。

  13. 回溯消费。回溯消费是指Consumer已经消费成功的消息,由于业务上需求需要重新消费。

  14. wait(), sleep()区别。yield方法。

  15. lock和synchronized对比。

  16. 可重入锁,偏向锁,锁粗化。

总结:问题都很不错,很全面也很深入。奈何本人太菜,答错了几个点。

阿里HR面

  1. 自我介绍开局缓解尴尬。
  2. ACM,学习的内容,论文情况。
  3. 学习方法,实践方法。
  4. 初高中算法竞赛和大学竞赛有什么不同。
  5. 你怎么自学法。
  6. 怎么平衡工作和学习。
  7. 花书,机器学习导论主要讲了哪些内容?讲的比较浅层,但是HR反问了一个点。(HR也懂技术,大雾)
  8. 你带领的计算机社团在大学期间的贡献。
  9. 社会实践方面“十佳团队”,整个活动内容,流程讲讲。
  10. 其他常规问题。
  11. 想问的,部门人员情况。
    在这里插入图片描述

总结

在3月中的几天,每天都担心被捞起,接不到面试电话怎么办?没谈好挂了怎么办?为什么自己还在简历池?

为什么别人不如我都能上岸。其实还是因为自己不够强,想明白了又滚去学习了。在这里也整理了很多的学习资料,需要的可以点击此处免费领取,暗号:CSDN

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要上述资料的可以点击此处免费领取,暗号:CSDN


在这里插入图片描述

版权声明
本文为[osc_o44vh5qb]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4379515/blog/4710711

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云