
面试
hdu_xiaoming
鹅厂打工人。
展开
-
【尘埃落定】WXG我来啦
趁着周末,来汇总下这段时间的情况。其实大批量的笔试、面试差不多九月底就已经结束了。十月以及十一月的上旬几乎都是在【等待】的状态中度过的。九月底、十月初等意向书。等来了意向书,又担心是“白菜”,甚至是“劝退”。各大厂又像是约好了一样,集体往后拖,迟迟不谈薪。这段时间心态一直比较焦虑,效率也很低下。...原创 2020-11-23 21:30:14 · 459 阅读 · 0 评论 -
关于互联网秋招,写给师弟师妹的话
今天是2020年10月2日,趁着国庆假期,整理下秋招中的一些注意事项。希望能带给22届同学一些启示,也帮助你们在明年的求职过程中避免一些坑,少踩一些雷。先说下我的大致情况。我大概是从七月份开始全心复习准备秋招,其实对于技术岗来说太晚了,这点下面具体展开说。暑假这几个月一度很焦虑,因为实验室的同学准备的比较早,七月份的时候周围的一圈同学就已经拿下了字节等大厂的意向。甚至出去吃饭的时候大佬们谈论的都是选择哪个大厂,唯独我一个offer都没有,压力是真的大。直到九月中旬,快手HR突袭进行了HR面,真是又惊又喜(原创 2020-10-02 22:01:21 · 624 阅读 · 0 评论 -
【笔试面试】腾讯WXG 面委会面复盘总结 --一次深刻的教训
今天 (应该是昨天了,昨晚太晚了没发出去)下午参加了腾讯WXG的面委会面试。前面在牛客上搜索了面委会相关的面经普遍反映面委会较难,因为都是微信的核心大佬,问的问题也会比较深。昨晚还蛮紧张的,晚上都没睡好。面试使用的是腾讯会议,时间到了面试官准时进入会议。照例是简单的自我介绍,然后是几个常见的基础问题:例如数据库索引,什么时候索引会失效、设计模式等。这部分比较普通,问的也不是很多,不再赘述。现在回想下,大部分还是简历上写的技能点。接下来面试官让打开项目的代码,对着代码讲解思路。我笔记本上没有这部分代码,所原创 2020-09-10 08:02:52 · 14188 阅读 · 0 评论 -
设计一款APP要考虑哪些因素?
这是本周腾讯二面时问到的一个问题,在此之前确实没有系统的考虑过,临场答的不是很全面。这边单独拿出来整理下。感觉可以考虑的点有以下几个:1.实现APP的动态更新。因为现在的APP很多业务场景都在不断的迭代,比如阿里京东的双十一、618等。所以应该让APP具有动态更新的能力。2.图片优化。相对于文本而言,图片占用的流量,加载所需的时间都会多很多。所以在图片缓存、优化等方面下工夫,可能会获得较大的提升。3.网络专题。为了确保良好的用户体验,APP不仅要在网络良好的情况下正常工作。我们还应该考虑到,很多场景原创 2020-08-28 13:54:41 · 1115 阅读 · 0 评论 -
【笔试面试】腾讯客户端面试复盘
今天下午参加了腾讯WXG的客户端面试,现在来做下复盘,总结面试中的不足。上来后还是常规套路进行自我介绍。面试官: 看了你简历的项目,主要是以后端的为主。可能你安卓相关的不是太熟悉,那我们今天的考察主要以基础为主吧。我: 好的,太贴心了~ (心理)面试官: 说下String s1 = “abc”; String s2 =new String(“abc”)区别;我: “abc”会在字符串常量池创建。(如果已经存在,则不重复创建)new String(“abc”)同样先检验,常量池是否存在该原创 2020-08-26 20:42:06 · 407 阅读 · 0 评论 -
【笔试面试】阿里钉钉 后端一面复盘
8月20日下午参加了阿里钉钉的面试。今天来复盘下。这次面试整体体验很好。面试官大概提前三天钉钉上加了我,征询我的时间预约的面试,而且很准时的上线了。赞!上来先是一个简单的算法题。Q: 算法题:消除成对的括号,比如“<<><<” 返回 “<<<”是个比较基础的题目,使用栈实现了。然后面试官让讲了下思路,要求不使用工具类(Stack),自己实现。使用数组模拟了栈的操作。Q: 介绍实习项目巴拉巴拉Q: 遇到最困难的问题是什么,如何解决的?巴拉巴原创 2020-08-21 20:29:52 · 1043 阅读 · 0 评论 -
【笔试面试】网易云音乐 后端一面复盘
8月15日下午三点10分参加了网易云音乐的秋招面试,这里来进行复盘下,总结面试中不足的地方。也希望能给读者一些启发。刚开始时出了一些波折,面试官迟迟没有叫号。大概在面试开始后十几分钟,终于叫号了。可能是前面面试的同学耽误了比较久。面试开始,自我介绍,项目介绍等常规操作,这块不展开了。基础知识开始问的是数据库索引。问: InnoDB是用什么实现的索引答: 使用B+树实现。问: 为什么使用B+树呢?答: B+树的优势主要有以下几点:1)只在叶子节点存储数据,其他节点只存索引。相对来说,一个磁盘页原创 2020-08-15 21:12:18 · 565 阅读 · 0 评论 -
【每日一题】位操作的小技巧
该技巧可用于解决191. 位1的个数 和 231. 2的幂 。主要操作是 n &= n-1,这个操作可以去除二进制数的最后一个1。那么对一个整数循环使用此操作并进行计数,就可以统计出整数中有多少位1。也就是191题的思路,代码很简洁:public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int count = 0;原创 2020-08-10 22:22:29 · 278 阅读 · 0 评论 -
【Java基础】挖一挖HashMap相关的几个问题
HashMap的hash()方法做了什么?JDK 1.8的hash()方法代码如下:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}1.7中是这样的:```javastatic int hash(int h) { // This function ensures that hashCodes原创 2020-08-07 11:06:20 · 200 阅读 · 0 评论 -
21届秋招 美团客户端一面、快手Java一面、二面总结
本周参加了几家公司的面试,趁着周末进行复盘总结下。由于是校招生身份,所以面试的内容大多还是以基础为主。大致的范围是操作系统、计算机网络、数据库以及Java相关的知识然后就是算法题的考察。面试官通常会先让你做简短的自我介绍。可以挑自己觉得比较重要和出彩的部分讲,后面的问题可能就是根据你自我介绍中提到的内容:比如参与的比赛、项目,解决了什么问题,遇到了什么难点等。这一块就要求在面试前做好充足的准备,归纳好解决的问题及难点,力求在几句话内让面试官对你的贡献有简单了解。尽量往自己熟悉的方向引领,以便控制面试的节原创 2020-08-01 22:09:30 · 318 阅读 · 0 评论 -
【Java基础】说一说我对Java线程池的理解
线程池在Java多线程中应用也很多,面试中出现频率比较高。今天来整理下线程池相关的知识点。总的来说使用线程池管理有以下几个好处:减小时间开销。 如果每次使用单独创建线程,会有创建和销毁的时间损耗,而在线程池中的线程可实现复用。减少等待时间。 在需要使用线程时直接从线程池调取即可,避免了等待创建的过程。统一管理。 避免资源消耗过度。使用线程池统一管理,控制最大创建线程数。Executors先来说说Executors类,由于创建线程池较复杂,有很多参数需要设置。Executors就类似于游戏中的【原创 2020-08-01 21:21:35 · 248 阅读 · 0 评论 -
【每日一题】回溯法:剑指 Offer 34. 二叉树中和为某一值的路径
题目输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。思路遍历二叉树,递归过程中依次用目标值减去当前节点的值,遍历过程中使用回溯法修改路径。当目标值减到零时,终止递归。代码class Solution { List<List<Integer>> res = new LinkedList<>(); LinkedList<Integer> path = new原创 2020-07-28 11:15:19 · 176 阅读 · 0 评论 -
【每日一题】剑指 Offer 36. 二叉搜索树与双向链表
题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。原题比较长,可以去力扣看。大致题意是将二叉排序树转换成有序的双向循环链表。思路题目要求递增的循环链表,即按中序遍历二叉树。判断特殊情况,如果传入节点为空,则直接返回。记录下第一个节点为head。遍历过程中依次连接【前一节点】和【当前节点】。最后将head节点和尾节点连接,返回head节点即可。代码class Solution { Node head; publ原创 2020-07-27 11:12:45 · 345 阅读 · 0 评论 -
【java基础】内部类能访问外部类的成员吗?
昨天下午字节跳动的面试中,问到了这个问题:内部类能访问外部类的成员吗?当时只是回答了静态内部类能访问外部类的静态方法,成员内部类能访问外部类的所有方法。然后面试官问我原因我就答不上来了。还是原来看的不仔细,这里具体整理下。通俗的理解,在一个类里面定义另一个类,这样的类称为内部类。广义上来说内部类一共有四种:成员内部类、局部内部类、静态内部类、匿名内部类。其中静态内部类只能访问外部类静态的方法和属性。其余的内部类可以访问所有的外部类成员变量及方法。静态内部类不依赖于外部类存在。其他内部类可以访问外部类原创 2020-07-27 10:12:30 · 5589 阅读 · 1 评论 -
【笔试面试】百度搜索架构部-效率中台 后台开发岗二面面经
题目1.自我介绍。2.项目相关,具体如何实现。具体略。需要注意的一点是,自己贡献的那部分代码需要很熟悉,万一面试官问的,他不是很理解的时候,最好能写出伪代码。3.算法题:返回链表的倒数第K个节点。考察工程能力,自己写数据结构和测试数据。问到这题时,心中还是有些窃喜的,因为做过很多次了,不难。但是在Idea中自己实现构建ListNode的测试数据的时候还是卡住了,菜,,, 所幸最后答出来了。4.进程间通信方式。不赘述了,自己百度吧。5.socket通信怎么实现的。不赘述了,自己百度吧。6原创 2020-07-24 20:32:34 · 606 阅读 · 0 评论 -
【笔试面试】百度搜索架构部-效率中台 后台开发岗一面面经
题目1.自我介绍2.算法题:力扣39题3.linux操作系统,你觉得最值得分享的东西4.进程间通信方式5.进程线程协程区别6.CPU调度方式7.看你博客写了很多算法相关的,分享一道你觉得印象深刻的算法题8.说下数据库,你觉得mysql最重要的是什么(答索引、事务)9.展开说了事务的几大特性,他说不用说概念10.mysql索引用什么数据结构实现的11.B+树的结构特点12.B+树叶子节点都存数据吗?13.数据库的隔离级别,最常用的是哪种13.innodb的RR如何原创 2020-07-24 20:10:32 · 537 阅读 · 0 评论 -
【设计模式】单例模式续--枚举方式实现原理及缺点
前几天整理的单例模式实现方式中,枚举方式是最推荐的一种。其优点有:实现简单天然线程安全,开销低(无需锁)反射/序列化都不会制造多个对象但是上文没有具体展开其保证线程安全的原理。今天实验室的小伙伴在头条的面试中问到了这个问题 --“枚举单例怎么保证线程安全的,枚举方式的实现有哪些缺点” 那么就来整理下吧。线程安全枚举类在第一次真正被用到的时候,会被虚拟机加载并初始化。而虚拟机的类加载过程是由jvm保证线程安全的。(双亲委派机制)所以,枚举类实现的单例天生线程安全。缺点不可继承。引用知原创 2020-07-21 21:21:22 · 716 阅读 · 0 评论 -
【网络安全】SSH连接那些事,可以和HTTPS对比着看
前几天介绍了HTTPS的连接过程,今天来说一下另一个常用的协议–SSH。SSH是Secure shell的简写,我们平时最常使用的场景应该就是个人电脑和服务器连接了。连接的方式有两种:1).基于口令(密码)的验证;2).基于密钥的验证。更推荐第二种方式,因为从操作的便捷性来说,第一种方式每次连接需要重复输入密码,不方便,且存在安全隐患(下文具体展开)。首先分别看一下两种验证方式的过程:基于口令的验证客户端发起登录请求;服务端收到请求后,将公钥发送给客户端*客户端使用服务端的公钥加密自己的原创 2020-07-21 14:04:53 · 312 阅读 · 0 评论 -
2021届互联网秋招面试题目汇总项目--interview-question(持续更新中...)
近日在gayhub开了一个新项目,汇总实验室大佬的秋招面试题目。由于笔者找的是后端的工作,所以暂时汇总的题目也以后端题目为主。项目链接 => gayhub实验室(杭州电子科技大学云技术研究中心)约有20多为小伙伴找的后端/客户端的岗位,多位大佬已经到了头条的三面、招银网络的终面(真正的群除我佬…)。有互联网求职需要的同学可以关注下。当然了,仅仅背一个小小的题库一定是远远不够的,主要目的还是分析出大厂关心的技术点,复习时针对性加强,做到有的放矢。...原创 2020-07-18 08:45:59 · 546 阅读 · 0 评论 -
剑指offer解题汇总(1)
3. 数组中重复的数字思路1:使用map存节点数据,然后依次遍历判断是否出现过。时间复杂度:O(n),空间复杂度O(n)思路2:交换法。因为是长度为n的数组,数字范围是0到n-1。遍历过程中发现下标为X的位置上存的数字是y(不等于x),则判断下标为Y的位置上是否存的是Y,如果是则出现重复,如果不是则交换两者数据。时间复杂度:O(n),空间复杂度O(1)4. 二维数组中的查找思路1:暴力遍历整个二维数组,判断是否与目标值相同。时间复杂度:O(n^2),空间复杂度O(1)思路2:从二维数组左下角原创 2020-07-16 16:20:20 · 175 阅读 · 0 评论 -
【网络安全】聊一聊HTTPS的加密机制
众所周知,HTTP协议是以明文形式传递数据,而HTTPS就是在HTTP基础上多了SSL加密。以往对HTTPS的了解也仅限于此了,没有过多深入的探究。最近实验室小伙伴面试时关于HTTPS的问题出现频率较高,那么就来系统的整理下吧。开整!目录目的方式对称加密(假设)非对称加密(假设)非对称加密 + 对称加密漏洞!数字签名参考资料目的这个不必多说,自然是为了安全性。特别是一些对安全性要求比较高的信息,如信用卡、电商购物信息等。安全性具体来说还可以分为三点:可靠性:即用户访问的网站,是不是真正的官网?还是原创 2020-07-14 12:57:23 · 431 阅读 · 0 评论 -
【笔试面试】关于TCP流量控制和拥塞控制的一点理解
TCP协议是传输层的一个面向连接的协议。其中有两个特性 流量控制 和 拥塞控制 比较相似,以前一直没有深入探究这两者的区别。今天研究了下王道上的内容,有了比以前更深的理解,在此记录下。目录目的方式拥塞控制目的首先,从目的上来说流量控制是为了防止接收方的缓冲区大小不够发生溢出,所以减小接收窗口(rwnd)。拥塞控制是防止过多的数据注入网络,造成网络中的路由器过载。方式流量控制:接收方在TCP报文的窗口字段限制发送方的发送速率。拥塞控制:发送方自己检测网络的状态,如遇到超时、重复确认包时,原创 2020-07-13 16:44:13 · 2176 阅读 · 0 评论 -
【设计模式】重复造轮子之手撕单例模式
设计模式在面试中经常会被问到,单例模式是设计模式中被问到频率最高的(应该)。相关的博客其实已经非常多了,为了增强记忆水博客还是来整理一下。实现单例模式的方式大致有以下几种:饿汉模式顾名思义,这种方式由于饥饿会在类加载时就把对象创建好。这种方式是线程安全的,因为不涉及多线程重复创建的问题,但是缺陷在于会浪费资源。毕竟我可能还不需要用到这个实例,创建了就会白白浪费资源。如果类很少影响还不大,如果是一个第三方框架,有大量的类,那么可能就会对性能产生影响。上代码~~public class Singleto原创 2020-07-12 15:05:11 · 222 阅读 · 0 评论 -
【笔试面试】研发岗面试算法高频题
二叉树的右视图题目给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:1 <—/ 2 3 <—\ 5 4 <—思路主要思路是依次(根,左,右)将节点压入栈内,再用一个栈存储节点对应的深度。用一个HashMap存储一层的最右边的节点。从栈内取出节点和深度。更新维护当前最.原创 2020-07-11 22:26:51 · 326 阅读 · 0 评论 -
【每日一题】142. 环形链表 II
题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。难度: mid思路本题在面试中出现的频率较高,需特别注意下。常见的解法有两种:1.使用HashSet存储ListNode引用,依次遍历整个链表。若当前节点未在HashSet出现过,则将其加入set中,继续遍历下一节点。若已经在set中存在,则表示找到入口,直接返回。该原创 2020-07-11 17:11:27 · 205 阅读 · 0 评论 -
【基础算法】常用内部排序算法总结--快速排序
先来说下面试中常问到的快速排序算法。快排算法属于交换排序算的一种,时间复杂度O(nlogn),空间复杂度O(logn)~O(n),是一种不稳定的排序算法。快排的核心思想是每次将枢纽值(一般选择第一个元素为枢纽值)移动到最终位置。然后对最终位置两边的子数组分别采用快速排序,直到子数组的长度为1时终止。递归版本的快排代码如下:public static voidquickSort(int[] list, int low, int high) { if (low >= high) return; i原创 2020-07-09 16:28:03 · 217 阅读 · 0 评论 -
【每日一题】23. 合并K个排序链表
题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例输入[1->4->5,1->3->4,2->6]输出1->1->2->3->4->4->5->6思路参考力扣大佬的思路,仅仅将比较器使用lambda语法简化。主要思路是使用优先队列,步骤如下:1.依次将各个有序链表的表头压入优先队列(小顶堆);2.构建一个虚拟表头,当队列非空时,将队列中的元素弹出,接在虚拟表头后面;3.如果弹出原创 2020-07-09 10:24:00 · 221 阅读 · 0 评论 -
【Java基础】java反射使用
目录定义优点缺点常用方法获取Class对象的三种方式类相关常用方法获得类中属性(Field)获得类中方法(Method)Field类方法Method类方法其他重要方法总结定义java反射是指在程序运行过程中,对于任意一个类,能够获取其所有的属性和方法;对于一个对象,可以调用其所有的方法,修改其所有的属性。该种能够动态获取信息或调用对象方法的功能称为反射。优点增加程序灵活性,运行时根据需要动态加载类。缺点性能较差。破坏封装性。暴露内部细节。常用方法获取Class对象的三种方式原创 2020-07-08 16:20:56 · 149 阅读 · 0 评论 -
【面试准备】计算机网络面试题汇总
持续更新中…简述计算机网络体系结构原创 2020-07-07 22:17:05 · 301 阅读 · 0 评论 -
21届招银网络秋招提前批 java开发岗电话面 面经
招银网络秋招提前批的笔试是6月22日晚,前30%的人可以免电话面直通视频面。本菜鸡当然是不属于这一部分啦~ 所以光荣的来到了电话面环节。不得不吐槽一句,招银网络的面试体验真的特别差!倒不是面试官不好,只是面试的时间给的真的是太太宽泛了。一直在等电话,28号等了一天没来,今天等了一上午没来,中午去吃饭时来电话了。。。1.自我介绍这部分就不展开了,建议大概说下自己的研究方法和做的项目。2.java获得类的方式太菜了,第一问就说错了。我理解成了获得对象的方式。。。public class Ref原创 2020-06-29 16:01:39 · 8918 阅读 · 0 评论 -
java getClass()的一些小实验
最近做的一些笔试题经常遇到考 getClass()方法相关的知识点,今天整理出来总结下。先来定义两个类:People类是父类,Student类继承自父类。class People { String name; int age; // 父类无参构造方法 People () {} People (String name, int age) { this.name = name; this.age = age; } vo原创 2020-06-24 22:16:13 · 286 阅读 · 0 评论 -
【面试准备】操作系统面试题汇总
问: 进程线程的区别:首先,进程是资源分配的最小单位;线程的CPU调度的最小单位。进程是应用程序执行的实例,线程的粒度比进程更小,更轻量,一个进程可以包含多个线程。创建或者撤销进程时,需要分配或者回收资源,所耗费的开销远大于创建或者撤销线程的开销。一个进程的多个线程之间共享同一块地址空间。因此一个进程的多个线程可读取同样的数据结构和变量,通信更加便捷。相比之下,进程间的通信就要消耗更多资源。问: 用户态和内核态:内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将..原创 2020-06-23 14:59:38 · 1164 阅读 · 1 评论