校招vivo技术面试总结
稀里糊涂过了笔试,很幸运的得到了面试机会,背着我的小书包,挤着地铁就去了西土城面试;
自我介绍
这部分就不多说了,我说的也不好,大致介绍了一下个人的基本情况;
数据结构
- 给100W个区间,不重叠。给出一个数N,求这个数在那个区间。空间复杂度要求我看到了,但估计我太菜了,人家没问;
给出想法: - 把所有区间的右边界,用一个数组存起来;
- 给数组排序;
- 二分查找,找到最后一个区间,返回右边界。这就是所在区间的右边界;
要求写出大概的代码:
现场我没写出来,时间有点紧,我有点菜;
package vivo;
import java.util.Arrays;
public class search100w {
public static void main(String[] args) {
int n = 89;
int[] arr = {5,10,20,30,40,60,50,55,100,95,90};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int index = binarySearch(arr,n);
System.out.println("区间的右边界是: " + arr[index]);
}
private static int binarySearch(int[] arr, int n) {
int low = 0;
int heigh = arr.length-1;
while(low < heigh) {
int mid = (low+heigh)/2;
if(n < arr[mid])
heigh = mid - 1;
else
low = mid + 1;
System.out.println(low +" "+ heigh);
}
return heigh+1;
}
}
JAVA
- 接口,抽象类,以及实现,问能不能写一个小栗子,说明一下区别;优缺点,大概这个样子。
我大致说了一下,但是没写出小例子;
大致区别:
接口支持多实现,类不支持多继承,这样接口更利于扩展;
实现接口,必须实现接口中的所有方法,继承抽象类,却不一定要实现他的所有方法;
接口中成员变量都必须被public static final,成员函数都必须被public abstract修饰,抽象类中可以用public protected default abstract;
抽象类的方法可以有默认实现,但是接口不可以;
抽象类的速度要比接口快;
添加新方法:接口,要添加就必须修改实现类,抽象函数却可以有默认的实现; - HashMap与HashTable的区别:
底层数据结果哈希表,特点和HashMap是一样的;
Hashtable线程安全集合,运行速度慢;
HashMap线程不安全的集合,运行速度快;
Hashtable命运和Vector是一样的,从JDK1.2开始,被更先进的HashMap取代;
HashMap允许存储nu11值,nu11键;
Hashtable 不允许存储nu11值,nu11键;
源码比较:http://blog.csdn.net/ns_code/article/details/36034955 - HashMap存储,两个键值对中key如果哈希值相同是怎么存储的?
哈希值相同,但内容不相同,采用桶存储;
哈希值相同,equals()比较内容也相同的话,就不存储,因为这个情况下,key相等,不允许这种情况发生;
扩充:
HashMap和和Hashtable都是基于哈希表存储数据的,具体就是:内部维护了一个存储数据的Entry数组,HashMap采用链表解决冲突,每一个Entry本质上是一个单向链表。当准备添加一个key-value对时,首先通过hash(key)方法计算hash值,然后通过indexFor(hash,length)求该key-value对的存储位置,计算方法是先用hash&0x7FFFFFFF后,再对length取模,这就保证每一个key-value对都能存入HashMap中,当计算出的位置相同时,由于存入位置是一个链表,则把这个key-value对插入链表头。 - StringBuffer与StringBuilder的比较:
前者线程安全,但是速度慢,后者线程不安全,但速度快。
StringBuilder类提供与StringBuffer 相同的方法。
Linux
说自己用过的Linux命令:ls ll la, cat more tail, cd, vi, mkdir touch mv cp scp ftp, chomd, cut sed awk;
基本就是这样了,这部分平时用就肯定脱口而出,都没问怎么用的,感觉会不会一眼就看得出来;
自己介绍一下了解的hadoop
- hadoop三个组件,HDFS, MapReduce,Yarn;
- HDFS: 分布式存储框架,namenode, secondnamenode, dataname, 元数据,持久化的命名空间镜像文件,编辑日志。HA高可用;
- MapReduce: map-shuffle-reduce ,shuffle: combiner, partition, sort, copy, sort;
- Yarn: Resouce Manage, Application Manage, Namenode Manage;
这一部分我自己了解的比较清楚,名词都大致有个解释。
地图的导航功能背后是怎么存储数据的额,他又是怎么做到精确导航的;
没答上来,人家就没扩展直接跳过了;
笔试的一个题
寻找最长的重叠字符串,abcabc这种定义位重叠字符串“`
package vivo;
import java.util.Arrays;
public class FindRepeat {public static void main(String[] args) {String str = "abcdefefvivovivoghijghijk";char[] ch = str.toCharArray();System.out.println(Arrays.toString(ch));String childStr = null;int maxLength = 0;String res = null;for(int i=0; i<ch.length; i++) {for(int j=i+1; j<=ch.length; j++) {childStr = new String(ch, i ,j-i);int first = str.indexOf(childStr);int last = str.lastIndexOf(childStr);if(first != last && childStr.length()>maxLength) {res = childStr;maxLength = childStr.length();}}} System.out.println(res); }
}“`
校招vivo技术面试总结相关推荐
- 如何准备校招技术面试+一只小菜鸟的面试之路
校招一路走来很幸运,从最初的迷茫,到偶尔的被否认,然后慢慢调整心态,有缺憾才能有进步,正视的自己不足,静下心努力提高,勇敢尝试各种面试机会,因上努力,果上随缘,慢慢看到改变,收获肯定,重拾信心. 校招 ...
- 做了7年软件工程师,从500多场技术面试中学到了什么?
作者 | Rahul Arora 译者 | 火火酱,责编 | Carol 出品 | 程序人生(coder_life) 在做了7年的软件工程师后,我成为一家SaaS公司的创始人. 我参加过很多远程的技术 ...
- 以技术面试官的经验分享毕业生和初级程序员通过面试的技巧(Java后端方向)...
本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利. 毕 ...
- 【浅谈】如何做好一名初级技术面试官
对于搞技术的同学来说,平时会更多的专注于技术或业务本身 但是随着工作经历,技术能力的增加,早晚会成为团队的主力技术人员. 逐渐的老板,就会给你安排一些面试任务,有初级的有高级的,有校招有社招的. 刚好 ...
- 技术面试官告诉你面试应该怎么准备?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Java实现QQ登录和微博登录个人原创+1博客:点击前往,查看更多 作者:Java_JJ 链接:https:// ...
- 【面试招聘】聊聊求职过程中的技术面试
2020年的下半年开始了,很多大学都已经放了暑假,开始准备去找实习工作了,很多2021年毕业的同学也开始了秋招的进程,而对于一些社招人员,疫情结束,年终奖拿完,也开始准备跳槽.最近一段时间,无论是实习 ...
- 技术面试中,遇到不会回答的问题怎么破?来,教你几招!
技术面试中,遇到不会回答的问题怎么破? 在面试中,由于面试官热衷技术方向可能和自己并不一样,所以有时候问的问题,可能是你没有接触到东西(看你仅仅听说过),这种情况在校招或者社招1-5工作经验的面试中出 ...
- 校招の如何做面试准备
对于刚刚踏出或者即将踏出校门的大学生们,面试是社会的第一份"见面礼".那么如何准备才算充分呢?面对自己向往已久的工作橄榄枝,如何能够准确的抓住呢?本文从几个要素来进行解析. 专业课 ...
- 阿里校招负责人揭秘面试潜规则
阿里巴巴校招负责人揭秘面试中那些你应该知道的"潜规则". 最近负责了公司招聘,发现校园招聘这种事情,真是一个奇葩的工作.能做好校园招聘的人,一定是一个矛盾体. 这个人一定是思维缜密 ...
最新文章
- (剑指Offer)面试题61:按之字形顺序打印二叉树
- Cracer渗透视频课程学习笔记——漏洞分析
- 第五章 Python数据结构
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- 学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator
- 静态块、自由块及构造函数的执行顺序
- ADO.NET Command对象简介
- node-sass安装失败完美解决方法
- 微信小程序开发——最新网络流行语(前言)
- Team Tic Tac Toe 题解
- epub格式电子书剖析之二:OPF文件构成
- 你绝对没用过的三电源切换电路
- 一篇不错的关于VSS的入门介绍
- 浅谈函数栈帧(Stack Frame)
- python 数值运算 m op n_测验1 Python基本语法元素 (第1周)
- 挂载的三种方式之自动挂载(autofs)
- 【ivp6服务器可通过ivp4网络访问教程】
- PATA 题解 1002
- 一种基于嵌入式的多重识别门禁系统设计方案
- 阿里巴巴首席DBA成甲骨文全球第100个ACE