程序员面试编程遇到的五类大问题,网友你这答复的也太精确了吧
来源:学习编程__     阅读:422
源码超市
发布于 2019-06-11 04:00
查看主页

最近快到了程序员,任职跳槽的高峰期,笔者我送上一份Java程序员面试经常会遇到的五大类问题,每一类都有举例分析,希望能给大家带来帮助。

一、数组排序问题:

冒泡排序算法

冒泡排序算法的一趟原理如下:

相邻元素进行两两比较,假如前者大于后者,则交换,否则不变。

每一趟依次向后进行第 1 步,直到最后一个元素。

经过一趟的依次比较后的结果是,最后一个数是本趟比较中最大的数。所谓大数 ”沉入水底“ ,轻的气泡 “向上冒泡”。

继续重复 1、2、3 步骤。每趟只比较到上一步剩下的部分就可(除去最后的已经“沉究竟部”的元素)。

详细步骤如下:

具体代码如下:

二、数组相关其余问题:

如何把数组中的元素逆序?

思路:逆序就是把数组的元素前后倒置。

我们可以把前后两个数 i 和 arr.length-1-i 位置上的数进行交换,但是肯定注意交换次数是长度的一半。

举例如下:

三、查找问题:

顺序查找法

给定数字,在数组中查找所在的下标,没有找到则返回 -1。

思路:顺序查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法,只要要按数组下标索引一次比照就可。

根据题目要求找不到返回-1,所以可以假设找不到,设置变量标志位 int index = -1。而后依次查找,找到则替换标志为位置索引。index = i。

四、进制转换问题:

把一个十进制转换为八进制

思路:十进制转为其余数的方式就是整除取余数的方法。每次循环整除 8 取余数,直到除到 0 为止。

五、日期问题:

输入年份、月份、日期,打印出当前月份的日历表

思路关键点:本题的关键点就是需要控制换行和每月天数问题。

先设置当月 1 日,而后计算出 1 日是星期几,这样可以确定 1号在周几的开始位置;

控制每周日换行或者每7天换行,但是注意第一周需要调整开始数。

最后,对于想学习编程,成为高薪资的程序员一员的小伙伴来说:学习素来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者者为了入行、转行学习C/C++的伙伴可以一起学习哦!我自己组建了一个编程交流群(见简介),假如有兴趣的同学可以进群,还可以领取少量关于c/c++的项目学习视频资料!不论你是大牛还是小白,大家都一起成长进步。

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 服务器应用
相关推荐
网站漏洞之apache环境S2-057漏洞,利使用POC远程执行命令漏洞复现
Linux?进程管理基础知识学习分享
【综合篇】浏览器的工作原理:浏览器幕后揭秘
零基础转行学Web前台,这样学更容易入门!
JavsScript:别往Array.fill()方法传入对象
首页
搜索
订单
购物车
我的