主题:  讨论一下做一个WEB开发工程师必备的技能!好吗?

5D君子

职务:普通成员
等级:4
金币:10.0
发贴:1453
注册:2001/2/22 13:43:15
#12001/6/11 15:54:26
算是一个行业规FAN…吧!
俱体WEB开发是个什么行业…跟传统的程序员一样吗!?
要会什么?
会到什么程度…
最好会什么?

可以按入门____
好___
出色__
魔GUEI____
这几个级别设定…
最好有相关工资情况……呵呵…
我对这个行业感兴趣…:)



寂寞菜鸟

职务:普通成员
等级:1
金币:1.0
发贴:173
注册:2001/2/24 17:47:55
#22001/6/11 17:45:13
WEB开发和传统开发还是有着很多的相同点的,只要有良好的编程思想,两边都很容易吃的开,编程语言只是一种实现的工具,随着科技的进步,工具会越来越完善,所以说重要的还是思想。
不过WEB程序员实在没什么意思,还是做网络管理员好,DBA也不错。



omni

职务:普通成员
等级:1
金币:0.0
发贴:34
注册:2001/6/9 21:52:13
#32001/6/11 21:34:04
不过网络管理员其要UNDERSTAND的是什么呢??
具体 程度?
AND 何为DBA



临时球迷

职务:普通成员
等级:3
金币:10.0
发贴:869
注册:2000/9/18 15:42:52
#42001/6/12 9:41:29
omni在上个贴子中说
引用:
不过网络管理员其要UNDERSTAND的是什么呢??
具体 程度?
AND 何为DBA


安全,,

DBA->数据库管理员

下面是一家公司招聘的考题,,如果能答的上来70%

对50%的回答有把握的话你就是个好的开发工程师的苗苗了:)

问题主要还是考对WEB编程相关基本概念和操作的认知程度的,,

1、用C语言实现一个函数:将大写字母转换成小写字母('A' = 65, 'a' = 97)。

char tolower(char ch)
{
    // 你的实现





}



2、下面的代码用memset将三个局部变量置为0,请问可能会有什么问题?

void DoSomeThing(...)
{
    int i;
    int j;
    int k;

    memset(&k, 0, 3*sizeof(int));    // 将i,j,k置为0
    ...
}





3、作为开发团队的一员,你需要实现一些库函数提供给其他人使用。假设你实现的一个函数原型如下:

int DoSomeThing(char* pParam)
{
    ...
}

你们约定好参数pParam不能为NULL,但为了防止调用者错误传递NULL,你需要在你的函数里做判断处理。
请问你会选择那种方式,并说明原因?

(a) if (!pParam)
        return 0;

(b) if (!pParam)
        return ERROR_PARAM;

(c) if (!pParam)
        pParam = "";
    ...

(d) if (!pParam)
        throw EXCEPTION_ERROR_PARAM;

(e) if (!pParam)
        MessageBox(...);

(f) assert(!pParam);



4、定义结构如下:
typedef struct
{
    char c1;
    char c2;
    int n;
} stru;

请问sizeof(stru)等于多少?并说明理由。






5、下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么?
    int n;

    if (n == 10)    // 第一种判断方式
    if (10 == n)    // 第二种判断方式






6、下面的memset函数实现有什么问题?

void *memset(void *pv, byte b, size_t size)
{
    byte *pb = (byte *)pv;
    unsigned long l;
    size_t sizeSize;

    l = (b << 8) | b;    /* 用4个字节拼成一个long */
    l = (l << 16) | l;
    pb = (byte *)longfill((long *)pb, l, size/4);
    size = size % 4;

    while (size-- > 0)
        *pb++ = b;
    return (pv);
}





7、下面的代码有什么问题?

void DoSomeThing(...)
{
    char* p;

    ...
    p = malloc(1024);        // 分配1K的空间
    if (NULL == p)
        return;
    ...
    p = realloc(p, 2048);    // 空间不够,重新分配到2K
    if (NULL == p)
        return;
    ...
}






8、下面的代码有什么问题?

char *DoSomeThing(...)
{
    char str[16];

    ...
    return str;
}





9、下面的代码有什么问题?

char *_strdup( const char *strSource )
{
    static char str[MAX_STR_LEN];

    strcpy(str, strSource);
    return str;
}





10、实现一个函数:取出一个全路径文件名中的全路径。

/* [in] pszFullPath    全路径文件名
[out] pszPathName    接收全路径的缓冲区
[out] nCount            缓冲区大小
*/
int ExtractFilePath(char* pszFullPath, char* pszPathName, int nCount)
{
    ...
}






11、实现一个函数:取出一个url中的domain。

/* [in] pszUrl        url
[out] pszDomain    接收domain的缓冲区
[out] nCount        缓冲区大小
*/
int ExtractDomain(char* pszUrl, char* pszDomain, int nCount)
{
    ...
}






12、下面的代码有什么问题?并请给出正确的写法。

try
{
    FILE* fp = fopen("c:\\1.dat");
    if (NULL != fp)
    {
        ...
    }
    fclose(fp);
}
except(EXCEPTION_EXECUTE_HANDLER)
{
}




13、下面的代码有什么问题?并请给出正确的写法。

void DoSomeThing(char* p)
{
    char str[16];
    int n;

    assert(NULL != p);
    sscanf(p, "%s%d", str, n);
    if (0 == strcmp(str, "something"))
    {
        ...
    }
}




14、sql查询时,如果在user表的username字段上作了索引,以下哪些sql语句能使用索引?哪些不能?为什么?

(a) select * from user where username = "abc";
(b) select * from user where username like "abc%";
(c) select * from user where username like "%abc";
(d) select * from user where username = "abc" or password = "123";




15、设计一个双向链表:给出数据结构的定义,并给出插入、删除的算法。






16、用数据库设计一个树结构。请给出你的表设计,并给出枚举根节点的子节点的sql语句。






17、实现一个邮件客户端的收件箱功能:储存接收到的Email,并对外提供操作Email的API接口。
请设计Email文件存储结构和对外提供的API接口?



编辑历史:[这消息被vitrum编辑过(编辑时间2001-06-12 09:42:41)]


5D君子

职务:普通成员
等级:4
金币:10.0
发贴:1453
注册:2001/2/22 13:43:15
#52001/6/12 10:32:10
打击我……基本看不懂…
55555………
唉!做为一个好的WEB开发者是不是要懂javascript,VBSCRIPT,SQL语言,ASP or jsp or php中的一种
一定的服务器配制知识~~~ 用不用会C或JAVA……
唉…说不清楚…
才发现!
我什么都没学好!

唉……………
这些题我是肯定答不上的!
最多能 猜对 一两道题…
大家能试着做一下吗?



临时球迷

职务:普通成员
等级:3
金币:10.0
发贴:869
注册:2000/9/18 15:42:52
#62001/6/12 11:09:40
真正懂了C的话那些语言只不过是几个星期就能搞懂的东西。



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#72001/6/12 11:14:28
有好几年没用C了,忘了差不多了,我最多能回答两个题,



5D荣誉斑竹

职务:版主
等级:3
金币:10.0
发贴:383
注册:2004/6/10 10:21:38
#82001/6/12 11:15:22
哈哈,回答!
6:b是byte形,左移8位后变成0了,或一下还是b,却成了十六位的b,最后l是0b0b,不是bbbb
8:局部变量在流程跳出该子程序后会自动释放,此时返回的str指针无效。

这是有点把握的答案,其他的就复杂了。——有标准或者不标准答案没?



寂寞菜鸟

职务:普通成员
等级:1
金币:1.0
发贴:173
注册:2001/2/24 17:47:55
#92001/6/12 14:59:42
要我说以前只设计过页面要学编程还是学PHP最好,它太简单了(对入门者),如果学了两个月后你要能掌握面向对象的精髓就开始学习JAVA吧,然后慢慢 的转向JSP。期间一点要多看方法类的书,你看上面的问的那些问题有好多都是数据结构里的。
个人之见。



jay_5d

职务:普通成员
等级:2
金币:0.0
发贴:223
注册:2001/3/27 23:44:26
#102001/6/12 15:04:17
原来....我的C语言都已经忘得这么干净了.........555......
才一年而已啊,,,,,唉,,,,,有点可惜......
看来去应聘前还要好好温习一下C啊. 得感谢各位提醒......


[img]http://go4.163.com/~liyuanhao/jay.GIF[/img] 现在倒数......2X30X24X60X60秒我就不再是学生了。 :(

5D君子

职务:普通成员
等级:4
金币:10.0
发贴:1453
注册:2001/2/22 13:43:15
#112001/6/12 15:30:23
TO:寂寞菜鸟
我走的差不多就是你说的路!可现在感觉自己什么也不是!:(
难道做WEB开发必须从传统的程员走来吗?
唉~~~HTML是我会的第一种语言~:(
我没戏啦吗?
TO:OTHER~
C我没学过只看过两眼!
摸门不着!
什么叫位运算?
> >>这是什么意思有什么用?
唉我现在的书里都没有讲!
这是很基础的东西吧!
我不会~~~
5555~~~
我应该看看什么书呢?
谢谢~~~
HEMAN



寂寞菜鸟

职务:普通成员
等级:1
金币:1.0
发贴:173
注册:2001/2/24 17:47:55
#122001/6/12 17:02:21
不要灰心,我也非科班出身,最近专科毕业,还要去别的本科学校读两年混个本科文凭。
我是2000年才有自己主页的,也是先学的HTML啊,后来做的QIQULU还不算丑陋就被学校叫去做学校的主页,期间学习了PHP,UD,PYTHON,ZOPE,APACHE,MYSQL等等东西,虽然没有一门是精通的,但是对自己视野开阔很有好处,前几天为了毕业做了一个购物系统,用PHP编写的,并用了大量的时间来看面向对象的软件设计方法,各种版本的软件工程中的面向对象这一块都被我翻了,感觉收获很大,于是趁热打铁看了正流行的UML,初步理解了以后,买了本JAVA书,看了一多半了,我感觉还没有什么地方让我比较犯难,当然了,我看的只是本入门书。学PHP还有个收获就是会了SQL语言,感觉MYSQL不过瘾就看看ORACLE,靠,它太强大了,让我着迷!我想我以后还是用ORACLE吧。程序语言就开始学JAVA,这是一个漫长的过程,等我看完我目前这本书我就开始研究JSP,今天翻了下,确实觉得它比PHP有更大的架构,非常不错!在学会JAVA前,我会对PHP做个总结,自己开发出一个社区和一个办公系统的。平时我也看看XML什么的,不过精力实在有限,所以FW,DW,FL我平时都不看这方面的文章了。
罗嗦了这么多,见笑。



jay_5d

职务:普通成员
等级:2
金币:0.0
发贴:223
注册:2001/3/27 23:44:26
#132001/6/12 17:22:37
寂寞菜鸟在上个贴子中说
引用:
不要灰心,我也非科班出身,最近专科毕业,还要去别的本科学校读两年混个本科文凭。
我是2000年才有自己主页的,也是先学的HTML啊,后来做的QIQULU还不算丑陋就被学校叫去做学校的主页,期间学习了PHP,UD,PYTHON,ZOPE,APACHE,MYSQL等等东西,虽然没有一门是精通的,但是对自己视野开阔很有好处,前几天为了毕业做了一个购物系统,用PHP编写的,并用了大量的时间来看面向对象的软件设计方法,各种版本的软件工程中的面向对象这一块都被我翻了,感觉收获很大,于是趁热打铁看了正流行的UML,初步理解了以后,买了本JAVA书,看了一多半了,我感觉还没有什么地方让我比较犯难,当然了,我看的只是本入门书。学PHP还有个收获就是会了SQL语言,感觉MYSQL不过瘾就看看ORACLE,靠,它太强大了,让我着迷!我想我以后还是用ORACLE吧。程序语言就开始学JAVA,这是一个漫长的过程,等我看完我目前这本书我就开始研究JSP,今天翻了下,确实觉得它比PHP有更大的架构,非常不错!在学会JAVA前,我会对PHP做个总结,自己开发出一个社区和一个办公系统的。平时我也看看XML什么的,不过精力实在有限,所以FW,DW,FL我平时都不看这方面的文章了。
罗嗦了这么多,见笑。


走的非m$之路啊,令人佩服.
能用几句话概括的说一下UML么?嘿嘿.


[img]http://go4.163.com/~liyuanhao/jay.GIF[/img] 现在倒数......2X30X24X60X60秒我就不再是学生了。 :(

寂寞菜鸟

职务:普通成员
等级:1
金币:1.0
发贴:173
注册:2001/2/24 17:47:55
#142001/6/12 19:04:08
并不是为了摆酷才不学MS的,是比它好的东西确实很多,上边的帖子忘了告诉大家我现在坚持使用LINUX,等到两年毕业后我也是个高手了,嘿嘿。
UML让我用一句话概括,我晕~你去它的网站看看吧,这个东西确实比较好,现在甚至有ROSE软件可以直把UML模型转化成代码。



kingfish

职务:普通成员
等级:1
金币:1.0
发贴:126
注册:2001/5/26 9:01:34
#152001/6/15 8:17:54
我认为竹叶程序员需要的知识并不多

但一般情况下彼此形成不了团队

使开发难度加大