`
抛出异常的爱
  • 浏览: 630476 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

精通XX面试手册收集贴

阅读更多
本贴所有回贴必须含有一道面试题
否则会投反对票.
引用其它贴子的
要给出出处地址.
分享到:
评论
60 楼 icream 2008-03-08  
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?

这题是某本c语言书后的课后习题,可能是循环那章
59 楼 icream 2008-03-08  
unique.wu 写道
写一个字符串翻转的函数,要求效率最高,空间利用最少

这题是数据结构教科书题,经典算法,自己想恐怕很难效率最高,空间最少
58 楼 blog4Leon 2008-03-08  
blog4Leon 写道
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?


每输出数组的一行后,对未遍历的子数组做一次行列变换
先下班吃火锅去了,回头写code...


火锅完毕,上代码
 public static void main(String[] args) {

        char[][] chars = {
                {'1','2','3','4'},
                {'5','6','7','8'},
                {'9','0','a','b'},
                {'c','d','e','f'}};

        int columnNum = chars[0].length;
        int rowNum = chars.length;

        printCharArray(rowNum, columnNum, chars);
    }

    private static void printCharArray(int rowNum, int columnNum, char[][] chars) {

        //print the first row of given array
        for (int i = 0; i < columnNum; i++) {
            System.out.print(chars[0][i]);
        }

        //swap rows with columns of sub-array
        if (rowNum > 0 && columnNum > 0) {
            int newRowNum = columnNum;
            int newColumnNum = rowNum - 1;
            char[][] newChars = new char[newRowNum][newColumnNum];
            for (int i = 0; i < newRowNum; i++) {
                for (int j = 0; j < newColumnNum; j++) {
                    newChars[i][j] = chars[j + 1][newRowNum - i - 1];
                }
            }

            //print the sub-array recursively
            printCharArray(newRowNum, newColumnNum, newChars);
        }
    }

57 楼 tensiongyb 2008-03-07  
bcccs 写道
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?

哥们,如果让你转圈着跑一个格子图,你会不会,然后你不会写程序?
考虑一个蚂蚁,它当前坐标x,y,它的运动方向,4个。每次撞到墙,右转,当前状态下的4面墙,如果你还不会。。。。呵呵。就算了。


不是太好写,费了半天劲,要是面试的时候写时间还真不够
#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = "Gu Yingbo (tensiongyb@gmail.com)"


def speed_generator():
    """四个方向不停转
    >>> speed = speed_generator()
    >>> speed.next()
    (0, 1)
    >>> speed.next()
    (1, 0)
    >>> speed.next()
    (0, -1)
    >>> speed.next()
    (-1, 0)
    >>> speed.next()
    (0, 1)
    """
    while True:
        for i in [(0,1), (1,0), (0, -1), (-1,0)]:
            yield i


class CanNotVisit(Exception):
    pass


class Loop(object):
    """走一圈
    >>> ll = ['1234', '5678', '90ab', 'cdef']
    >>> loop = Loop(ll)
    >>> ''.join(loop)
    '12348bfedc9567a0'
    >>> ll = ['12345', '67890', 'abcde', 'fghij']
    >>> loop = Loop(ll)
    >>> ''.join(loop)
    '123450ejihgfa6789dcb'
    """
    def __init__(self, list2d):
        """坐标图
            0      1      2      3
 x  y   ---------------------------> y
(0, -1)0|(0, 0) (0, 1) (0, 2) (0, 3)             1 2 3 4
       1|(1, 0) (1, 1) (1, 2) (1, 3)      对应   5 6 7 8
       2|(2, 0) (2, 1) (2, 2) (2, 3)             9 0 a b
       3|(3, 0) (3, 1) (3, 2) (3, 3)             c d e f
        x
        """
        self.list2d = list2d
        self.speed_generator = speed_generator()
        self.change_speed()
        self.x, self.y = (0, -1)
        self.visited = []

    def change_speed(self):
        """向右转"""
        self.speed_x, self.speed_y = self.speed_generator.next()

    def move(self):
        """实际走一步"""
        self.x += self.speed_x
        self.y += self.speed_y

    def __iter__(self):
        return self

    def visit(self, position):
        """尝试走一步"""
        x, y = position
        if x < 0 or y < 0: # 越界
            raise CanNotVisit
        if (x, y) in self.visited: # 走过了
            raise CanNotVisit
        try:
            return self.list2d[x][y]
        except IndexError: # 走不了
            raise CanNotVisit

    @property
    def test_position(self):
        """下一步的位置"""
        return self.x + self.speed_x, self.y + self.speed_y

    def next(self):
        try:
            char = self.visit(self.test_position)
        except CanNotVisit: # 第一次尝试
            self.change_speed()
            try:
                char = self.visit(self.test_position)
            except CanNotVisit: # 第二次尝试失败说明无路可走
                raise StopIteration
        self.move() # 真实的行走一步
        self.visited.append((self.x, self.y)) # 踩一脚
        return char


if __name__ == '__main__':
    import doctest
    doctest.testmod()
56 楼 sunlin 2008-03-07  
1 上个项目用了什么框架
2 他回答了再问,为什么用它而不用其他类似的框架
3 用这些框架的优缺点
55 楼 mayu 2008-03-07  
unique.wu 写道
将类似 123450230189.13数字转换为对应大写金额 **圆*角*分

网上一大堆
54 楼 lingzantia 2008-03-07  
hyhongyong 写道
数据表记录,一列的数形如:2,3,4,6,7,8,10,11
1>请用一句sql把第一个缺少的数(5)找出来
2>请用一句sql把中间所有缺少的数找出来(5,9)

第一个:select min(num)-1 from (select rownum+1 a, num from ddl_test) where a<>num
第二个:还在想...
53 楼 lingzantia 2008-03-07  
bcccs 写道
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?

哥们,如果让你转圈着跑一个格子图,你会不会,然后你不会写程序?
考虑一个蚂蚁,它当前坐标x,y,它的运动方向,4个。每次撞到墙,右转,当前状态下的4面墙,如果你还不会。。。。呵呵。就算了。


public static void main(String[] args) {
		char[][] all = {
				{'1','2','3','4'},
				{'5','6','7','8'},
				{'9','0','a','b'},
				{'c','d','e','f'},
			};
		StringBuffer result = new StringBuffer();	
		int sept = 1;	//蚂蚁的移动方向,右和下是1,左和上是-1
		int x = 0;		//蚂蚁的坐标
		int y = 0;		//蚂蚁的坐标
		int xMax = all[0].length;//蚂蚁的移动范围
		int xMin = 0;			//蚂蚁的移动范围
		int yMax = all.length;	//蚂蚁的移动范围
		int yMin = 0;			//蚂蚁的移动范围
		boolean isRow = true;	//横向还是纵向移动
		
		for(int i=0; i<all[0].length*all.length; i++){
			if(isRow){
				result.append(all[y][x]);
				if(x+sept < xMax && x+sept >= xMin){	//在横向范围内则x坐标+或-1				
					x += sept;
				}else{
					if(sept == 1){	//否则纵坐标+或-1
						yMin += 1;
					}else{
						yMax -= 1;
					}
					y += sept;		//避免角上的重复走
					isRow = false;	//变向
				}
			}else{
				result.append(all[y][x]);
				if(y+sept < yMax && y+sept >= yMin){					
					y += sept;
				}else{
					if(sept == 1){
						xMax -= 1;
					}else{
						xMin += 1;
					}					
					isRow = true;
					sept = -sept;
					x += sept;
				}
			}			
		}
		System.out.println(result.toString());
	}

52 楼 bcccs 2008-03-07  
ddandyy 写道
...................收集贴变教育贴了

after the reply from you ,there will be lots of water............
51 楼 ddandyy 2008-03-07  
...................收集贴变教育贴了
50 楼 bcccs 2008-03-07  
blog4Leon 写道
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?


每输出数组的一行后,对未遍历的子数组做一次行列变换
先下班吃火锅去了,回头写code...

多大的io操作量啊(是不是memory 不算 io)。
49 楼 blog4Leon 2008-03-07  
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?


每输出数组的一行后,对未遍历的子数组做一次行列变换
先下班吃火锅去了,回头写code...
48 楼 bcccs 2008-03-07  
348105874 写道
bcccs 写道

哥们,如果让你转圈着跑一个格子图,你会不会,然后你不会写程序?

你告诉我啊 我是不会

我给你edit了。
47 楼 348105874 2008-03-07  
bcccs 写道

哥们,如果让你转圈着跑一个格子图,你会不会,然后你不会写程序?

你告诉我啊 我是不会
46 楼 bcccs 2008-03-07  
348105874 写道
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?

哥们,如果让你转圈着跑一个格子图,你会不会,然后你不会写程序?
考虑一个蚂蚁,它当前坐标x,y,它的运动方向,4个。每次撞到墙,右转,当前状态下的4面墙,如果你还不会。。。。呵呵。就算了。
45 楼 bcccs 2008-03-07  
waldenlake 写道
bcccs 写道
waldenlake 写道
如果非要求和的话 是要遍历整个数组的 然后才能取最末几位。(位运算不熟:p)
折半的话就不需遍历整个数组


问题是对于无序数组,怎么二分?难道你先排序?

呵呵 同问 只能假设他排好了。


问题是这个问题的应用背景你想过么。。。。怎么可能是有序的。。。。
44 楼 348105874 2008-03-07  
1234
5678
90ab
cdef
要求输出12348bfedc9567a0
现在还不会?有人知道么?
43 楼 waldenlake 2008-03-07  
YRHYRH 写道


试题:手写一个JAVA AWT的 程序。GUI内画4个不同是圆圈。。。


手写。。我日!!!做不了。把试题扔给那个前台。闪人。

本人05年恶劣经历。。

GUI的。。。貌似大二时候会写。。。
42 楼 YRHYRH 2008-03-07  


试题:手写一个JAVA AWT的 程序。GUI内画4个不同是圆圈。。。


手写。。我日!!!做不了。把试题扔给那个前台。闪人。

本人05年恶劣经历。。
41 楼 hyhongyong 2008-03-07  
数据表记录,一列的数形如:2,3,4,6,7,8,10,11
1>请用一句sql把第一个缺少的数(5)找出来
2>请用一句sql把中间所有缺少的数找出来(5,9)

相关推荐

    ProE5.0入门到精通DVD 密码手册

    《ProE5.0入门到精通DVD 密码手册》是一部专为初学者设计的教程,旨在帮助读者从零基础快速掌握ProE5.0这一强大的三维产品设计软件。ProE,全称Product Engineering,是美国参数技术公司(PTC)开发的基于特征的三维...

    STM32F405xxSTM32F407xx数据手册.rar

    STM32F405xx和STM32F407xx是STMicroelectronics公司生产的高性能微控制器,属于STM32系列的Cortex-M4内核产品。...这份文档是开发过程中的必备参考资料,对于学习和精通STM32F405xx和STM32F407xx系列微控制器至关重要。

    python背记手册 从入门到精通

    python背记手册 从入门到精通

    Panabit入门到精通配置手册

    Panabit入门到精通配置手册

    精通CANOE使用手册

    ### 精通CANoe使用手册 #### CANoe概述与功能 CANoe是业界领先的用于CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay、Ethernet和其他网络协议的开发工具套件。它由德国Vector公司...

    BIOS引导从入门到精通学习手册

    BIOS引导从入门到精通学习手册

    阿里python入门到精通手册公开发布,企业级教程.pdf

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。...对于那些想要学习Python的人来说,阿里的这本入门到精通手册提供了详尽的指导和丰富的实例,是不可多得的学习资源。

    易e语言从入门到精通手册教程下载

    《易语言从入门到精通手册教程》是一份全面介绍易语言编程知识的资源,适合初学者及有一定基础的程序员学习。易语言,又称E语言,是中国本土开发的一种简单易学的中文编程语言,旨在降低编程的门槛,让更多人能够...

    Oracle 傻瓜手册-入门到精通

    Oracle入门到精通的傻瓜手册。本手册介绍Oracle配置的基本方法,描述的是“所然”而不是“所以然”。全部操作以命令行方式出现,不涉及GUI(只有白刃战才是真正的战斗)。鉴于大家对Windows已经十分熟悉,同时为了...

    视易精通操作手册.doc

    视易精通操作手册 视易精通收银管理系统用户操作手册旨在帮助用户快速掌握视易精通收银管理系统的操作方法和技巧,从而提高工作效率和质量。以下是视易精通操作手册中的主要知识点: 登录系统 视易精通收银管理...

    嵌入式开发 linux 面试笔试收集经典题

    在嵌入式开发领域,Linux系统扮演...总之,掌握Linux基础知识、精通C/C++编程、理解嵌入式软件测试方法和策略,是成功通过这类面试的关键。不断实践、深入学习并积累实战经验,将有助于提升在嵌入式开发领域的竞争力。

    精通SQL Server 2008完全自学手册.part1/4

    精通SQL Server 2008完全自学手册.part1

    精通SQL Server 2008完全自学手册.part2/4

    《精通SQL Server 2008完全自学手册》.part2

    完全精通局域网手册

    完全精通局域网手册,不要小看局域网的知识哦

    【Photoshop实例教程】路径完全精通手册

    本教程——“Photoshop实例教程:路径完全精通手册”旨在帮助用户全面理解和掌握这一关键技能。 首先,路径是由直线、曲线和锚点组成的图形轨迹,可以理解为画笔的虚拟轨迹。在Photoshop中,路径分为工作路径和路径...

    阿里Python入门到精通背记手册企业级教程中文PDF版最新版本

    Python入门到精通手册是一个阿里巴巴内部Python背记手册,从人门到精通,教程通俗易懂,实例丰富,既有基础知识,也有实战技能,能够帮助读者快速⼊门,是你学习python的葵花宝典。需要的朋友可下载学习试试! ...

    完全精通局域网手册.rar

    《完全精通局域网手册》是一本专注于局域网技术的综合指南,旨在帮助读者深入理解和熟练掌握局域网的相关知识。局域网(Local Area Network,简称LAN)是计算机网络的一种,它覆盖的地理范围相对较小,通常在一座...

    ThinkPHP5.0快速入门控制器入门到精通开发手册3合1

    以上只是《ThinkPHP5.0完全开发手册》、《ThinkPHP5快速入门》和《ThinkPHP5控制器从入门到精通》这三本书籍中的一部分内容,实际学习过程中,读者还会接触到路由配置、模型、视图、模板引擎、缓存、权限控制等更多...

    Java从入门到精通面试宝典-求职技巧职业规划中文PDF版最新版本

    **Java面试宝典:从入门到精通的求职指南** 《Java面试宝典》是一本与《Java从入门到精通》配套使用的教程,专为Java求职者设计。本书不仅涵盖了Java技术面试的各个方面,还包含了求职技巧和职业规划的指导。以下是...

    STM8S从入门到精通手册

    《STM8S从入门到精通手册》是一本帮助初学者和开发者学习STM8S系列微控制器的实用指南。 本手册主要内容涉及以下知识点: 1. STM8S单片机的特点与分类 STM8S单片机具有如下特点:低功耗、高性能的CPU核心、丰富的...

Global site tag (gtag.js) - Google Analytics