面试记录
lizhi_ma
这个作者很懒,什么都没留下…
展开
-
面试常见算法题:有效的括号
题目:给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fa..原创 2018-09-08 17:54:52 · 1011 阅读 · 0 评论 -
面试: 你知道linux对于windows来说优势在哪里?
Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux。Linux系统之所以会成为目前最受关注的系统之一,主要原因是它的免费,以及系统的开放性,可以随时取得程序的原代码,这对于程序开发人员是很重要的。除了这些它还具有以下的优势Linux系统优势一:跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i...原创 2018-09-06 15:49:41 · 1352 阅读 · 0 评论 -
面试:你说一下SpringMVC处理请求流程
SpringMVC核心处理流程:DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器HandlerMapping处理器映射器,根据请求路径找到相应的HandlerAdapter处理器适配器(处理器适配器就是那些拦截器或Controller)HandlerAdapter处理器适配器,处理一些功能请求,返回一个ModelAndView对象...原创 2018-09-06 15:45:42 · 6239 阅读 · 0 评论 -
面试: 你介绍一下python
这是因为曾静有一个项目需要用到一些电商网站的信息,所以就自学了一下怎么用python去爬取网络上的信息。我是直接使用了python一个有名的爬虫框架,叫做scrapy [‘skræpi:],scrapy有一个核心组件叫做引擎,处理整个系统的数据流。这就是我对这个爬虫框架的处理过程的一个大致的了解。新建项目project -》明确目标item(相当于java的pojo类) -》 编写爬虫sp...原创 2018-09-06 15:43:47 · 1382 阅读 · 0 评论 -
面试:你都在项目中用了哪些设计模式?
准备实习找工作,个人准备一下。单例模式: 在项目中用过单例模式,比如在刚开始学习mybatis框架的时候,那时候还没有整合spring框架,所以SqlSessionFactory还是需要自己去创建的,当时知道SqlSessionFactory是重量级的对象,所以为了提高性能,我是把单例模式用到了创建SqlSessionFactory这个对象中的。工厂模式: 在答题系统中创建目录时用到了...原创 2018-09-06 15:41:47 · 19603 阅读 · 1 评论 -
常见面试算法题:找到一个数组中相加为特定数值的两个元素
题目:给定一个整数数组,返回两个数字的索引,使它们相加到一个特定的目标。您可以假设每个输入都只有一个解决方案,而您可能不会使用相同的元素两次。eg:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1]思路:通过两个循环,让每一个元素和它后面的所有元素相...原创 2018-09-09 12:34:46 · 3051 阅读 · 1 评论 -
常见算法面试题:最长公共前缀
思路:找出字符串数组中长度最小的字符串,此字符串用来当作标准对比的字符串。用两个循环匹配最长前缀,外循环,从i=0到最小字符串的长度String standard=minStr.substring(0, i);内循环从j=0到字符串数组长度,负责将字符串数组的每一个字符串从0截取到i长度与minStr对比,if(strs[j].substring(0, i).eq...原创 2018-09-09 12:19:35 · 1581 阅读 · 0 评论 -
常见面试算法题:字符串中左右括号匹配判断
题目:字符串中左右括号匹配判断要求: 判断一个字符串中的小括号是否匹配。例如,字符串“((())())”中的小括号匹配,而“)()”中的小括号不匹配。如果匹配则提示匹配,如果不匹配则提示第一个不匹配的括号的位置。例子:思路: 得到字符串,从头开始,一个一个字符判断。 (1) 如果是左括号则压入栈中。 (2) 如果是右括号,则将一个左括号从栈中弹出,匹配一对。若此时栈中无元素,那么...原创 2018-09-08 18:26:15 · 5611 阅读 · 0 评论 -
常见面试算法题:统计一个Byte中的“1”的个数
题目描述:对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高java中有三种移位运算符<< : 左移运算符,num << 1,相当于num乘以2>> : 右移运算符,num >> 1,相当于num除以2>>> : 无符号右移,...原创 2018-09-08 18:22:36 · 5044 阅读 · 1 评论 -
常见面试算法题:二叉树最大深度,最小深度
求一颗二叉树的最大深度 思路:深度优先搜索、递归int MaxDepth(TreeNode * root){if (root ==NULL){return 0;}return max(MaxDepth(root->left),MaxDepth(root->right))+1;}求一颗二叉树的最小深度,即从根节点到叶子节点的最短路径长度 易错点:不能直接将上段代...原创 2018-09-08 18:19:01 · 869 阅读 · 0 评论 -
常见面试算法题:删除链表中重复的节点
题目:在一个排序的链表中,如何删除重复的节点?样例输入: 1 2 3 3 4 4 5样例输出: 1 2 5思路: 新建一个头节点,以防第一个节点被删除。保存当前节点上个节点,循环遍历整个链表,如果当前节点的值与下一个节点的值相等,则将当前节点的值与next.next节点的值比较,直到不相等或者null为止,最后将当前节点的上个节点pre指向最后比较不相等的节点。如果当前节点与...原创 2018-09-08 18:11:38 · 1612 阅读 · 0 评论 -
常见面试算法题:一次抽取N个不重复的元素
思路:根据数组的个数,来随机生成数组的下标索引,因为根据这个下标索引就可以得到数组中对应的元素。如何存储元素,并保证不重复。这里可以使用HashSet来存储已经获取的随机出来的值,HashSet的作用就是能保证这里存储的值不会出现重复。根据HashSet中已经存储的个数作为while循环的条件,来循环生成随机数。退出循环的条件就是HashSet中的数量已经超过你想要生成的数量。...原创 2018-09-08 18:10:04 · 1275 阅读 · 0 评论 -
常见面试算法题:给定两个非空链表来表示两个非负整数
代码如下:原创 2018-09-08 18:09:12 · 5699 阅读 · 1 评论 -
常见面试算法题:反转整数
题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 编码思路:按照输入整数的位数,对整数进行遍历,每次训练获取最后面的尾...原创 2018-09-08 18:07:02 · 638 阅读 · 0 评论 -
常见算法面试题:删除链表的倒数第N个节点
题目:给定一个链表,删除链表的倒数第 n 个节点并返回头结点。说明:给的 n 始终是有效的。尝试一次遍历实现。例子:给定一个链表: 1->2->3->4->5, 并且 n = 2.当删除了倒数第二个节点后链表变成了 1->2->3->5. 思路: 很简单的一道题,既然只允许遍历一次,且N一直有效,那么可以利用双指针解法(前指针、后指针)...原创 2018-09-08 18:04:38 · 1371 阅读 · 0 评论 -
面试:微信和QQ的本质区别
QQ 是PC时代的IM工具。微信是移动互联网时代的IM工具。微信是为移动互联网设计的,没有“在线”这个概念是最典型的特征。手机里没有“在线”这个概念,永远都在线,但是永远也不能保持一个立即回复的状态。这就是微信。人群的定位——QQ是青少年,微信则偏向于白领。这也是腾讯的去年轻化战略的最成功案例。总结:微信和QQ最大的区别主要就是两个:一个是定位PC端和移动端;另一个就是QQ之前都是利...原创 2018-09-12 11:22:12 · 1993 阅读 · 0 评论