找实习经历分享(三)

3.8 腾讯视频面试

应该是我在官网投的简历,这次面试凉凉的,腾讯应该不会有其他部门捞我了,哎,算法题也没有做出来,问的问题基本不会,面试官都没啥好问的了,,,不知道影不影响后面校招啊

1:自我介绍
2:问我擅长什么语言,我用java的时候面试官很惊讶,他表示,我不是应C++做的项目吗
3:直接开始做面试题(期间我偏头看双屏,面试官叫我把双屏关了,低头画草稿,面试官叫我抬头,同时不能切换其他页面,面试官没开视频)就是19年实习原题

有一种特殊的数组。该这个数组支持一种操作:每次操作可以把数组中一个数自增1。
现在有一个长度为n的自增数组,小Q现在想利用这个操作把数组中的每个数都变得不一样,请问你最少需要多少次操作?
输入描述
第一行,一个整数n (n <= 10000)
第二行,n个空格间隔的整数,即数组中的元素ai(-10000 <= ai <= 10000)。
输出描述
一个整数,表示最少需要操作的次数
示例1
输入
5
1 2 3 2 5
输出
2

4:编译型语言,解释性语言,脚本语言的区别
5:hash表是什么
6:JVM,操作系统,计算机网络学过吗
7:ConcurrentHashMap怎么实现线程安全
8:快速排序和堆排序的原理及应用场景,快排为什么不稳定
9:三次握手
10:LRU算法
11:设计模式
12:其他我记不到了

3.10 西安北大软件研究院电话面试

1:自我介绍
2:为什么做JAVA方向
3:Java学到哪种程度
4:学过数据库吗
5:数据结构了解哪些
6:数据结构和算法各讲2种你熟悉的
7:后续的学习安排
8:反问:
是个国企,在西安,应该问一下职业发展的,,,,,

3.11腾讯后台开发视频面试

啊,这次更凉
1:面试官先介绍部门情况,主要用golang和java
2:归并排序的原理,用什么实现,时间复杂度,怎么算的时间复杂度
3:多线程与多进程的区别
4:TCP与UDP的区别
5:python里面new 和Init方法的区别
6:然后就是编程题,3选1,整体应该都难度不大,但是时间到了,我一个都没有思路
7:面试官建议:对自己的项目要深入了解,自己没有负责的模块也了解一下
8:面试官一直在敲键盘,估计是在记录啥,应该会作为后面腾讯的参考吧

笔试题1

进制转换
给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 

笔试题2

用递归函数和栈逆序一个栈
一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆
序,但是只能用递归函数来实现,不能用其他数据结构。 

笔试题3

给定一个单链表的头部节点 head,链表长度为 N,如果 N 是偶数,那么前 N / 2 个节点算作左半区,后 N / 2 个节点算作右半区;如果 N
 为奇数,那么前 N / 2 个节点算作左半区,后 N / 2 + 1个节点算作右半区。左半区从左到右依次记为 L1->L2->...,右半区从左到右依次
 记为 R1->R2->...,请将单链表调整成 L1->R1->L2->R2->... 的形式。 

3.12 京东物流视频面试

用的京东自己的视频会议系统面试的
1:自我介绍
2:mysql原理
3:Hashmap和LinkedHashMap的区别
4:HashMap的put操作时线程为什么不安全
5:HashMap的key用什么类型好一些(包装类)
6:解决hash冲突的方式
7:三个线程,分别打印A,B,C,要求输出3次ABC
8:volatile实现可见性和指令重排
9:lock/RentrenLock的实现原理
10:cas
11:JVM
12:Java系统框架,设计,MVC的好处是什么
面试官的建议:
基础加强 数据库 消息队列 计算机网络的协议:http/https/tcp/udp/ip
操作系统主要了解Linux系统的指令
只刷算法题是不行的,还得会至少Spring,面试官说实习生过来也得干活的,不然那代码都看不懂

3.15 快手视频面试

1:Https如何保证安全
2:输入网址到展现网页的过程
3:Error和Exception的区别
4:哪些Exception需要try catch
5:JVM的内存区域划分,堆,栈,都放什么
6:程序计数器
7:垃圾回收算法
8:如何判断一个对象是垃圾
9:MyIasm和InnoDB的区别,生成的文件都有哪些
10:线程的生命周期,如何切换
11:设计模式,单例模式的作用,适配器模式
12:编程题:
① 二叉树前序遍历,递归和非递归形式
②两个栈实现队列(呸,还做过的,都没做出来,有bug)
13:居然还聊了一会人生,你最熟悉的数据结构是什么,,觉得最难的是什么,你做过最有满足感的事情是什么,项目中的技术难点

3.15 北大信研院微信电话面试

1:java的特性,什么情况下会转化为多态
2:java有哪些数据结构
3:HashMap的底层原理,什么时候转化成红黑树
4:jdk,1.7和1.8 ConcurrentHashMap的区别
5:mysql索引的种类
6:Spring了解过吗
7:没啥就先挂了

3.16 百度实习生面试

平台:百度自己的面试网站
1:自我介绍
2:了解哪些排序算法,手撕快排(共享屏幕)
3:两个链表交叉,怎么找到相交结点
4:堆排序原理
5:二叉树广度优先遍历怎么实现
6:进程和线程
7:怎么创建进程
8:进程间的通信方式
9:网络 TCP
10:单例模式,手撕, 线程安全问题怎么解决
11:泛型解决什么问题
12:手撕:两个线程操作一个int数的自加
13:synchronized和volatile的区别
面试官建议:计算机网络,操作系统,数据库,消息队列

3.19 腾讯视频面试

主要是C++和Go
1:讲一下多态
2:怎么区分重写
3:进程的内存分区(处理堆栈还有什么)
4:I/O多路复用
5:进程和线程之间的区别
6:进程间的通信方式,线程间的通信方式
7:为什么线程间切换开销小一些
8:堆和栈有大小限制吗,分别是多少
9:堆和栈的区别

3.22掌阅科技视频面试

面试平台:飞书
主要用python和java
1:自我介绍
2:介绍一下项目,项目的实施流程,架构设计,处理流程,前期处理,担任角色
我说图片经过了灰度化处理:问为什么要回灰度化
3:进程和线程的区别(这个是我自己引导的,我说项目中用到了多线程)
4:链表查询的时间复杂度
5:10000万个数怎么快速找最大值
6:leetcode的一道算法题,在一个数组里面找两数之和等于n
7:java会有内存泄漏吗,C++呢,怎么产生的 :Java 中 7 个潜在的内存泄露风险
8:然后问了行人跟踪项目.
9:有很多数据,都有重复,但只有一个数据没有重复,怎么快速找出这个没有重复的数
我会提出方法之后,面试官会问你时间复杂度,然后我问面试官的解法,面试官说可以考虑位运算,我接着问,面试官说他也不能说太多了这个意思,也对,毕竟他们的笔试卷就有这个题

4.26 阿里企业智能事业部

1:int的范围(因为数据库需要判断自增主键)
2:Object的方法
3:8种基本数据类型
4:notify和wait的作用,经常和那个关键字结合使用(Synchronized),可以不和Synchronized一起用吗?
5:Synchronized怎么用,除了修饰方法还能修饰什么
6:Synchronized可以修饰静态方法吗?(可以的)
7:JDK1.5提供了JUC,明明有Synchronized就可以完成线程安全,为什么还要提供JUC呢?
JUC更灵活,Synchronized不能自主加锁,解锁,比如JUC有lock
8:自动装箱和自动拆箱的概念,容易造成什么问题?
拆箱的时候Integer可能是null,但是int没有null
9:HashMap的底层数据结构,为什么要变成红黑树,线程安全的map
10:ConcurrentHashMap实现线程安全的原理
11:ConcurrentHashMap和HashMap能保证key的顺序吗,想要保证1,2,3,4,5这样排用什么Map
12:ThreadPoolExtruator,线程池
13:反射
14:jstat的作用(JVM)
15:GC算法
16:你了解的Mysql,常见的事务隔离级别
17:索引的好处是加速,索引失效的场景说几个
18:Spring基础
19:项目都不是JAVA的不太好问
20:说一说集合有哪些(打出来list set map,面试官想问queue)
list和set的区别是什么。

面试官建议:极客时间的Mysql45讲
后端也不光问JAVA,还要问Spring MyBatis 算法,建议找一些突破点 ,我问你问题的时候是希望你能主动的说,这样的话我就能根据你的回答,你擅长的继续聊,你给我的回答就是两句话就结束了,那我只能想下一个问题了,就会问到你不擅长的东西,当问到你不擅长的东西,你可以说这方面我不太了解,我在哪方面有经历,这样面试的过程就不会是面试官做主要的询问工作,
①JVM的命令,GC算法,对校招生也不要求JVM调优,你用过或者学过就OK了
②多线程:串行代码大家都有问题,怕并行的代码实习生写不好,推荐极客时间的《JAVA并发编程实战》,基本都会问多线程,并发里面就有很多跟集合相关的,可以了解一下
③MySQL:在阿里,不会有专门的数据库团队给你支持,sql得自己写
④算法

抓住突破点 JVM 并发编程 MySQL,如果那么多知识点都浅尝辄止
校招生没经历没问题的,想听到你思考能力比较好,发散能力比较好,如果浅尝辄止,会觉得你是一个不喜欢研究的人

做当前需要做的,做找工作需要的,比如Linux这些去公司了再学也来得及
你可以给面试官说你对多线程,数据库比较了解,建议多问问这些
一个合格的面试官是问同学擅长的东西
公司希望你能专研,能很快上手,
项目:需要准备一个java相关的,直接用SpringBoot就好了,SpringMVC就不用了,校招生不用去看源码,上手其实很简单
极客时间的课比较适合突击

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值